home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / 172bdoc.zip / RBBSDOC1.ASC < prev    next >
Text File  |  1989-05-27  |  389KB  |  6,836 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                             REMOTE BULLETIN BOARD SYSTEM
  16.  
  17.                                        for the
  18.  
  19.                                 IBM Personal Computer
  20.                                   Version CPC17.2A
  21.  
  22.                               Technical Reference Guide
  23.  
  24.  
  25.                               Technical Support Number
  26.                                   (203) 268-9656
  27.                               (calls returned COLLECT)
  28.  
  29.                                  Copyright 1983-1989
  30.  
  31.                                          by
  32.  
  33.                              D. Thomas Mack
  34.                              39 Cranbury Drive
  35.                              Trumbull, Conneticut 06611
  36.                              DATA  #1 -- (203) 268-5315
  37.                                    #2 -- (203) 268-0129 
  38.  
  39.                              Jon Martin
  40.                              4396 N. Prairie Willow Ct.
  41.                              Concord, California 94521
  42.                              DATA  -- (415) 689-2090
  43.  
  44.                              Ken Goosens
  45.                              5020 Portsmouth Road
  46.                              Fairfax, Virginia 22032
  47.                              DATA  #1,2,3 -- (703) 978-6360
  48.  
  49.                                    May 28, 1989
  50.  
  51.      RBBS-PC CPC17-2A                                                Page 2
  52.  
  53.                             TABLE OF CONTENTS                      Page  Updated
  54.                             -----------------                      ----
  55.      1. INTRODUCTION                                                  6
  56.           1.1  The Capital PC Users Group                             6
  57.           1.2  The "contributions" requested for RBBS-PC              7
  58.           1.3  The "history" behind RBBS-PC                           8
  59.           1.4  RBBS-PC Update Conventions                            16
  60.           1.5  Beta test sites, Where and Why                        18
  61.           1.6  An Example of "Users Helping Users"                   20
  62.  
  63.      2. SUMMARY OF RBBS-PC'S FEATURES                                22
  64.           2.1  General                                               23
  65.           2.2  Messaging                                             24
  66.           2.3  File System Management and Exchange                   26
  67.           2.4  The User Interface                                    28
  68.           2.5  SYSOP Protection                                      30
  69.           2.6  SYSOP Functions, Features, and Support                31
  70.           2.7  System Access Management                              33
  71.           2.8  Communications                                        34
  72.           2.9  "Base-Line" Hardware and Software Requirements        36
  73.  
  74.      3. RBBS-PC's SUPPORT POLICIES                                   38
  75.           3.1  RBBS-PC's Vendor Support Policy                       38
  76.           3.2  RBBS-PC's User Support Policy                         42
  77.  
  78.      4. HOW TO GET A COPY OF RBBS-PC SENT TO YOU                     43
  79.  
  80.      5. FILES RBBS-PC USES                                           44
  81.           5.1  RBBS-PC System Files                                  45
  82.           5.2  RBBS-PC Text Files                                    48
  83.  
  84.      6. INSTALLING RBBS-PC FOR THE FIRST TIME                        51
  85.  
  86.      7. COMMON PROBLEMS ENCOUNTERED INSTALLING RBBS-PC               56
  87.  
  88.      8. PLANNING YOUR USER INTERFACE                                 58
  89.           8.1  Menus Shown to Callers                                58
  90.           8.2  Subsystem Prompts Shown to Callers                    59
  91.           8.3  Commands Available to Callers                         60
  92.           8.4  RBBS-PC's "Wrap-around" Command Search                61
  93.           8.5  How to Have a Single Universal Command Line           62
  94.           8.6  RBBS-PC'S Programmable User Interface (PUI)           65
  95.                8.6.1 An Example Using PUI                            66
  96.                8.6.2  How to Implement PUI                           67
  97.           8.7  RBBS-PC's Support of Sub-menus                        70
  98.                8.7.1 How to Implement Sub-menus                      72
  99.               *8.7.2 Shared Options Across Sub-menus                 72
  100.           8.8  RBBS-PC's "Macro" Command Support                     73
  101.                8.8.1 How To Set Up "Macros"                          75
  102.               *8.8.2 Macro Commands                                  76
  103.                8.8.3 A Sample Macro                                  81
  104.               *8.8.4 On-line Data Base With Macros & Questionnaires  82
  105.           8.9  RBBS-PC's "Smart" Text Files                          86
  106.           8.10 "Colorizing" the RBBS-PC User Interface               88
  107.  
  108.      * New or substantially revised.
  109.  
  110.      RBBS-PC CPC17-2A                                                Page 3
  111.  
  112.                             TABLE OF CONTENTS                      Page  Updated
  113.                             -----------------                      ----
  114.           8.11 RBBS-PC's Automatic Operator Page Option              91
  115.          *8.12 Enhancing the File Verbose List                       93
  116.  
  117.      9. UNIQUELY IDENTIFYING YOUR CALLERS                            95
  118.           9.1  Setting Up Identifying and Individuation Fields       96
  119.           9.2  Preloading Identities For Instant Access              97
  120.  
  121.      10. RBBS-PC's AUTOMATIC SUBSCRIPTION/ TIME MANAGEMENT           99
  122.           10.1  Setting It Up                                       100
  123.  
  124.      11. USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC            100
  125.           11.1  Global RBBS-PC Parameters (Part 1 of 3)             101
  126.           11.2  Global RBBS-PC Parameters (Part 2 of 3)             103
  127.           11.3  Global RBBS-PC Parameters (Part 3 of 3)             105
  128.           11.4  Parameters for RBBS-PC System Files (part 1)        108
  129.           11.5  Parameters for RBBS-PC System Files (part 2)        111
  130.           11.6  Parameters for RBBS-PC "Doors"                      114
  131.           11.7  Parameters for RBBS-PC's Security (part 1)          117
  132.           11.8  Parameters for RBBS-PC's Security (part 2)          119
  133.           11.9  Parameters for Multiple RBBS-PC's/Conferences       123
  134.           11.10 RBBS-PC SYSOP Utilities                             126
  135.           11.11 RBBS-PC's File Management System Parameters         128
  136.           11.12 Communications Parameters (part 1)                  132
  137.           11.13 Communications Parameters (part 2)                  136
  138.           11.14 Parameters for RBBS-PC NET-MAIL                     137
  139.           11.15 New Users Parameters                                139
  140.           11.16 Use of the Library Sub-System                       140
  141.           11.17 RBBS-PC's Parameters for Color                      142
  142.  
  143.      12. THE HAYES MODEM SWITCH SETTING AND CONSIDERATIONS          143
  144.           12.1  Hayes Smartmodem 1200 Switch Settings               143
  145.           12.2  Hayes Command's Considerations                      145
  146.                 12.2.1 Command to Reset the Modem                   145
  147.                 12.2.2 Command to Initialize the Modem              145
  148.                 12.2.3 Command to Count The Number of Rings         145
  149.                 12.2.4 Command to Answer the Phone                  146
  150.                 12.2.5 Command to Take the Phone Off the Hook       147
  151.                 12.2.6 Smartmodem 2400 Firmware Initialization      147
  152.                 12.2.7 Smartmodem 9600 Firmware Initialization      149
  153.      13.  RBBS-PC's FILE MANAGEMENT SUBSYSTEM                       151
  154.           13.1  Multiple Directory Format                           152
  155.          *13.2  The Single and Chained FMS Directory Format         154
  156.           13.3  Advantages/Disadvantages of FMS Directory           155
  157.           13.4  Creating FMS Directories                            158
  158.           13.5  Defining the FMS Category Codes                     160
  159.           13.6  The "Library" Subsystem, CD-ROM, and FMS            161
  160.                 13.6.1 How the "Library" Subsystem Works            163
  161.                 13.6.2 The "Library" Subsystem and PC-SIG's CD-RO   164
  162.           13.7  Creating the Personal Files Directory               165
  163.          *13.8  Automatically Checking & Converting Uploaded Files  169
  164.  
  165.      * New or substantially revised
  166.  
  167.      RBBS-PC CPC17-2A                                                Page 4
  168.  
  169.                             TABLE OF CONTENTS                      Page  Updated
  170.                             -----------------                      ----
  171.      14.  SETTING UP ".BAT" FILES FOR RBBS-PC                       171
  172.  
  173.      15.  THE USE OF RBBS-PC "DOORS"                                172
  174.           15.1  "DOORS" Are Nothing More Than .BAT Files            172
  175.           15.2  A Sample .BAT File for a "DOOR"                     173
  176.                 15.2.1  Redirect I/O Using the CTTY Method          173
  177.                 15.2.2  Redirect I/O Using the CTTY Method          173
  178.           15.3  Setting Up and Testing a "DOOR"                     174
  179.          *15.4  Invoking "DOOR"s Via The External Control File      176
  180.           15.5  EXITing or SHELLing to "DOOR"s                      177
  181.           15.6  Reseting The User's Record Via a "DOOR"             178
  182.           15.7  A Summary of "DOOR"s                                178
  183.  
  184.      16.  THE SECURITY FEATURES OF RBBS-PC                          180
  185.           16.1  RBBS-PC's Security Features                         181
  186.           16.2  Examples of Uses for RBBS-PC's Security System      182
  187.           16.3  How to Implement the Password File                  184
  188.           16.4  Implementing Security for Download Files            187
  189.           16.5  Implementing Security for RBBS-PC Commands          189
  190.           16.6  Beware of the "Trojan Horse!"                       191
  191.  
  192.      17.  SYSOP FUNCTIONS                                           192
  193.           17.1  SYSOP Commands Within RBBS-PC                       192
  194.           17.2  SYSOP Use of Function Keys and Numeric Pad          194
  195.  
  196.      18.  MESSAGE AREAS WITHIN RBBS-PC                              196
  197.           18.1  "Conferences" and "Sub-boards" -- the Differences   196
  198.           18.2  Making a "Conference" or "Sub-board" Successful     199
  199.           18.3  Setting Up a "Conference" or "Sub-board"            200
  200.          *18.4  Establishing a "Conference" or "Sub-board" SYSOP    201
  201.  
  202.      19.  CALLERS AUTOMATIC NOTIFICATION OF MAIL WAITING            202
  203.  
  204.      20.  RBBS-PC QUESTIONNAIRE FACILITIES                          204
  205.          *20.1  Branching to Labels                                 205
  206.          *20.2  Display Data Command                                206
  207.          *20.3  Display Data And Get Response                       206
  208.           20.4  Multiple Choice Responses                           207
  209.           20.5  Forward and Backward Branching                      207
  210.           20.6  Raise/Lower User's Security Level                   207
  211.           20.7  Abort Questionnaire                                 208
  212.           20.8  Chain Questionnaire                                 208
  213.          *20.9  Turbo Key                                           208
  214.          *20.10 Macro Execute                                       208
  215.          *20.11 Assign Value                                        209
  216.  
  217.      21.  RBBS-PC's STANDARD INTERFACE FOR PROTOCOL DRIVERS         210
  218.           21.1  Parameters passed to a protocol driver              211
  219.           21.2  Calling external protocols using "templates"        215
  220.           21.3  Parameters Returned by a Protocol Driver            217
  221.           21.4  The Protocol Drivers Tested With RBBS-PC            218
  222.  
  223.      * New or substantially revised
  224.  
  225.      RBBS-PC CPC17-2A                                                Page 5
  226.  
  227.                             TABLE OF CONTENTS                      Page  Updated
  228.                             -----------------                      ----
  229.      22.  UPLOADED FILE TIPS                                        219
  230.  
  231.      23.  DUE WARNING AND SYSOP'S LEGAL LIABILITY                   221
  232.      24.  COMPILING AND LINKING RBBS-PC                             222
  233.           24.1  Compiling CONFIG and RBBS-PC                        222
  234.           24.2  LINKing CONFIG                                      223
  235.           24.3  LINKing RBBS-PC                                     223
  236.  
  237.      25.  LIMITED LICENSE                                           225
  238.  
  239.      26.  LIMITED WARRANTY                                          226
  240.  
  241.      27*. UPGRADING TO CPC17-2A                                     227
  242.  
  243.      28.  PROPOSED AGENDA FOR A NATIONAL SYSOP CONFERENCE           229
  244.  
  245.      29.  RBBS-PC, THE  LARGEST  SOFTWARE  HOUSE IN THE WORLD       231
  246.  
  247.      APPENDIX A -- RBBS-PC Record Formats                           232
  248.      APPENDIX B -- RBBS-PC in a DESQview Environment                238
  249.      APPENDIX C -- RBBS-PC in a MultiLink Environment               242
  250.      APPENDIX D -- RBBS-PC in a CORVUS Network                      244
  251.      APPENDIX E -- RBBS-PC in ORCHID or AST PCnet NETWORK           245
  252.      APPENDIX F -- RBBS-PC in an Alloy PC-SLAVE/16 Environment      247
  253.      APPENDIX G -- RBBS-PC and 10 NET Network                       252
  254.      APPENDIX H -- RBBS-PC and the Hearing-Impaired                 253
  255.      APPENDIX I -- RBBS-PC and the IBM PCjr                         254
  256.      APPENDIX J -- RBBS-PC Subscription Service                     256
  257.      APPENDIX K -- RBBS-PC National Listing Service                 257
  258.      APPENDIX L -- The Ark-Paradyne Modem RBBS-PC Switch Settings   258
  259.      APPENDIX M -- RBBS-PC And the Anchor Signalman Express (MK12)  261
  260.      APPENDIX N -- The Everex 2400 modem RBBS-PC switch settings    262
  261.      APPENDIX O -- Prometheus 2400G modem RBBS-PC switch settings   263
  262.      APPENDIX P -- US Robotics Modems' RBBS-PC Switch Settings      264
  263.      APPENDIX Q -- RBBS-PC and the FASTCOMM 2496 Turbo Modem        266
  264.      APPENDIX R -- RBBS-PC and the ZOOM Modem HC2400                268
  265.      APPENDIX S -- RBBS-PC And The AT's RS-232 Cable                269
  266.      APPENDIX T*-- RBBS-PC And BASIC Compiler Patches for "Doors"   270
  267.      APPENDIX U*-- Using RBBS-PC to access ORACLE or dBASE Remotely 277
  268.      APPENDIX V -- Using RBBS-PC with SEAdog to Access FIDO-NET     281
  269.      APPENDIX W -- DOS Limitation on Running Programs Remotely      285
  270.      APPENDIX X -- Using RBBS-PC with DoubleDOS                     286
  271.      APPENDIX Y -- Recompiling RBBS-PC to Reduce Memory Required    288 
  272.      APPENDIX Z -- The MICROCOM AX9624c RBBS-PC Switch Settings     290
  273.      APPENDIX AA-- The Leading Edge Series L 2400B Modem            291
  274.  
  275.      * New or substantially revised.
  276.  
  277.      RBBS-PC CPC17-2A                                                Page 6
  278.  
  279.      1. INTRODUCTION
  280.      ---------------
  281.      RBBS-PC is a  Remote Bulletin Board System  for the IBM personal  computer,
  282.      hence the name RBBS-PC.  RBBS-PC has two fundamental purposes -- 
  283.  
  284.         A.  to be a catalyst for the free exchange of information, and 
  285.         B.  to serve as an educational example of what can be done with BASIC.
  286.  
  287.      RBBS-PC  is distributed under   the  trademark  "Userware" because  RBBS-PC
  288.      is the  sure  and   present   proof that software  which is shared  becomes
  289.      better than it  was.    RBBS-PC  is  the   result of many thousands of man-
  290.      hours of effort  and is what it   is  today   because of the  many software
  291.      contributions and suggestions   by  members  of the Capital  PC Users Group
  292.      and  others.   Everyone has something   that they believe strongly in.  For
  293.      me it is the  "Userware" concept and the   free  exchange of  information. 
  294.      As John Naisbitt states in his book, MEGATRENDS,
  295.  
  296.      "...the  new source  of power  is not  money  in the  hands of  a few,  but
  297.      information in the hands of the many."
  298.  
  299.      For this reason I have devoted the time  I  have in writing,   maintaining,
  300.      and enhancing  RBBS-PC over  the   years.   The   reason   that   I am  the
  301.      registered copyright owner of RBBS-PC and grant  the  limited  license that
  302.      I do is to primarily insure that these  purposes  are  not abrogated.
  303.       
  304.      1.1 The Capital PC Users Group
  305.      ------------------------------
  306.      Because the fundamental purposes of RBBS-PC and the Capital PC User   Group
  307.      are    similar, each  new  version of  RBBS-PC is  initially  sent to   the
  308.      CPCUG's  Software  Exchange  for  distribution.    CPCUG  is  a    Maryland
  309.      Corporation  whose "legal name"  is the Capital PC  User Group   Inc.   The
  310.      CPCUG is  an all-volunteer,  non-profit organization  according to  Section
  311.      501C3,  Social   Welfare,  of  federal law.    All revenues are re-invested
  312.      in and applied toward CPCUG's education programs.
  313.  
  314.      RBBS-PC CPC17-2A                                                Page 7
  315.  
  316.      1.2  The "contributions" requested for RBBS-PC
  317.      ----------------------------------------------
  318.      The "contributions" requested for RBBS-PC can be one of four types:
  319.  
  320.      A.   Modifications  to RBBS-PC, itself, that are documented and distributed
  321.      as .MRG files  against the "base-line" source code that other SYSOPs  might
  322.      elect  to incorporate into their version of  RBBS- PC (remember RBBS-PC can
  323.      not  be  distributed  in modified  form  with  violating  both the  RBBS-PC
  324.      copyrights and the limited license granted with it's use).
  325.  
  326.      B.   Publicly distributable software.   It  can either  be "public  domain"
  327.      (i.e. software which the author has  relinquished all rights and which  may
  328.      be appropriated  by anyone for use  in any way), or  publicly distributable
  329.      software (i.e. software  in which the  author has  retained his rights  and
  330.      which may only be used according  to the conditions under which the  author
  331.      has designated).
  332.  
  333.      C.   Equipment or  services.    Be  inventive  in   light  of  the  CPCUG's
  334.      objectives under  1.1.  If you or your  organization can  donate equipment,
  335.      software,  supplies, or services to the CPCUG, feel free   to  do  so.   If
  336.      you are so inclined,  but before you do  so,  contact  the  Capital PC User
  337.      Group, 51 Monroe Street, Plaza East Two, Rockville, MD 20850.   For general
  338.       information    about the  appropriateness  of  the bequest,    contact the
  339.      Capital  PC User Group directly at (301) 762-6775.
  340.  
  341.      D.   Money - the last level of "contribution".  Money is the one  commodity
  342.      that  we are  willing to  exchange  among each  other without  first having
  343.      obtained  the respect,   consideration,   etc. of  the other party.   It is
  344.      perhaps  the   easiest  to give as it exonerates us from the  other  levels
  345.      of   "contribution."    CPCUG is  an all volunteer  organization   and,  of
  346.      course,  money  is   seldom  plentiful.    However the essence of CPCUG  is
  347.      the  time,   ideas,  and  effort that each of the  volunteers contribute to
  348.      it.    For this  reason,  while  money is always appreciated,  money is not
  349.      the best  or   even   the  second-best   type  of "contribution"  you could
  350.      make.
  351.  
  352.      Independent  of    any  donations  of  enhancements  to  RBBS-PC,  publicly
  353.      distributable  software,    equipment,    services,   supplies,  or  money,
  354.      consider becoming a member of CPCUG.   Simply send your name, address,  and
  355.      phone number along  with $35 to CPCUG,   51 Monroe Street,  Plaza East Two,
  356.      Rockville, MD 20850 or call their membership hot line at (301) 670-1737.
  357.       
  358.      If in the final analysis you feel that you can do none of the above,
  359.  
  360.           o remember those who have,
  361.           o enjoy what they have nurtured, and
  362.           o keep the faith with those who have gone before you.
  363.  
  364.      RBBS-PC CPC17-2A                                                Page 8
  365.  
  366.      1.3 The "history" behind RBBS-PC
  367.      --------------------------------
  368.      Electronic  bulletin board  systems  have been  around ever  since personal
  369.      computers  existed.    The  first  ones  were very  primitive  and  usually
  370.      consisted of some  posted notices and  maybe allowed for on-line  messages.
  371.      It must be remembered that the IBM PC was only announced in August of  1981
  372.      and first  became  available in  October  of 1981.    Therefore it  is  not
  373.      surprising  that  the early  history  of  BBS' is  associated  with non-IBM
  374.      personal computers.
  375.  
  376.      The  "early history" of bulletin board systems began around 1978 in Chicago
  377.      with the CBBS/Chicago (Computerized Bulletin Board System/Chicago).  It was
  378.      created by Ward Christensen and Randy Suess -- members of the  Chicago Area
  379.      Computer Hobbyist Exchange (CACHE).   CBBS for the CP/M is  written in 8080
  380.      Assembler language  (11,000 lines of  it) and, like  the early  versions of
  381.      RBBS-PC (i.e.  prior to CPC12-5A), detects the baud  rate and the parity of
  382.      the user when he  first signs on from  the three carriage returns  that the
  383.      user must enter.
  384.  
  385.      About the  same time, Bill  Abney wrote  a BBS for  the Radio Shack  TRS-80
  386.      Models I and II called Forum-80.
  387.  
  388.      The earliest BBS that  I know of  was written for the  Apple (who else  had
  389.      personal computers in those days?) called the "Apple Bulletin Board System"
  390.      (ABBS).  It was written by Craig  Vaughn and Bill Blue.  They later created
  391.      another bulletin board  system for the Apple II called the People's Message
  392.      System (PMS).
  393.  
  394.      Another Apple bulletin board system that came  into being was for the Apple
  395.      II, II+,  and  IIE as  well  as the  Franklin  Ace and  it  was called  the
  396.      CommuniTree.   It was  written in  the FORTH  language by  Dean Gengle  and
  397.      several others.
  398.  
  399.      When IBM announced  its first personal computer,  the IBM PC, in  August of
  400.      1981, there was no BBS  for it.  In the summer of 1982, Brad Hanson found a
  401.      prototype version written  by Russ  Lane in  IBM's BASIC  on David  Crane's
  402.      Dallas RCP/M\CBBS system.  Brad added many fixes and  modifications. In the
  403.      first  half  of  1983,  many  members  of  the  Capital  PC  Users  Group's
  404.      Communication  Special Interest  Group  (SIG) such  as  Larry Jordan,  Rich
  405.      Schinnell, Gary Horwith, Jim Fry, Scot Loftesness, and Dorn Stickle further
  406.      enhanced it and added XMODEM file transfer capability until it became known
  407.      as RBBS-PC CPC09 in May of 1983.  At that time each feature or modification
  408.      was identified by a new  version number; it still ran only  under the BASIC
  409.      interpreter; and was both relatively slow  (because of the interpreter) and
  410.      somewhat unstable (it would normally "crash" at least once each day).
  411.  
  412.      Late in  May of 1983,  I asked Rich Schinnell  if there was  any  "bulletin
  413.      board" software available for the IBM PC written in BASIC.  Rich told me to
  414.      give Larry Jordan a  call.  Larry said that he was just getting CPC09 ready
  415.      to send to Rich Schinnell  who at that time was Director of  the Capital PC
  416.      User Group's Public  Domain Software Library and  that I could get  it from
  417.      Rich.  I  did, and still have  the diskette just as  Rich sent it to  me --
  418.      dated June 22, 1983.  
  419.  
  420.      Bulletin  board systems, historically were the result of a single person or
  421.      small group of persons' efforts and tended  to serve a very narrow interest
  422.      group  --  typically  those interested  in  the  medium  itself (i.e.  PCs,
  423.      programming, communications,  etc.).   This was  true up  to and  including
  424.      RBBS-PC CPC09.   In fact,  most of the  incentive to get the  public domain
  425.      versions of RBBS-PC  (CPC09 and earlier)  functioning was to introduce  the
  426.  
  427.      RBBS-PC CPC17-2A                                                Page 9
  428.  
  429.      XMODEM  protocol  to the  IBM  PC-based  community.    In  this  CPC09  was
  430.      successful  and may  have  been  the primary  incentive  for  XMODEM to  be
  431.      included in PC-TALK at all.
  432.  
  433.      Since  June of 1983  I have authored  and released THIRTY-FOUR  versions of
  434.      RBBS-PC and distributed them exclusively through  the Capital PC User Group
  435.      under the limited  license described in  section 25 of this  documentation.
  436.      At this  time RBBS-PC appears  to have  become the "industry  standard" for
  437.      IBM-type personal computer bulletin board systems.   However, even from the
  438.      very beginning BBSs have excelled whenever:
  439.  
  440.           a.) there was a geographically dispersed audience,
  441.           b.) with a need to exchange highly complex/technical information,
  442.           c.) in a timely and accurate manner.
  443.  
  444.      RBBS-PC's impact has been to open an entirely new medium of  communications
  445.      between people.  Rather than as  an end in and of itself, RBBS-PC  has come
  446.      to  serve as  a means  to  an end  -- the  free exchange  of  ideas.   On a
  447.      technical level it  is certainly  an example that  shows "real  programmers
  448.      can/do program in BASIC."  I would like to think that RBBS-PC had something
  449.      to do  with IBM and  Microsoft coming  out with new  versions of  the BASIC
  450.      compiler  that  support  communications,  sub-routines,  local  and  global
  451.      variables, file-locking in a networking environment, etc.
  452.  
  453.      RBBS-PC represents a fundamental cornerstone, not just a phase, in what can
  454.      be viewed as  a "social renaissance."   The three   areas that  I mentioned
  455.      earlier  in  which bulletin  boards  excel  seem  to ebb  and  flow  within
  456.      communities  and organizations.   RBBS-PC provides an  almost instantaneous
  457.      mechanism by which these  needs can be met.   Many of the Big  8 accounting
  458.      firms bring up RBBS-PC's just to  fulfill one contract so that the  various
  459.      geographically disbursed  members on  the contract  can communicate  across
  460.      time zones and  continents.   Unlike radio, newspapers,  and television  --
  461.      RBBS-PC provides a vehicle within which information can be EXCHANGED!  That
  462.      is what  makes RBBS-PC so unique.   Because the exchange is  written, it is
  463.      structured.  Because it is structured, it can be thoughtful.
  464.  
  465.      The   "social  renaissance"  that  RBBS-PC  represents  is  the  electronic
  466.      elimination of those barriers that had  previously inhibited the "exchange"
  467.      of  information  within  our  society.    RBBS-PC  provides every  personal
  468.      computer owner with his own "soap-box" in a national Hyde Park.  Previously
  469.      the channels  of communication  had built-in  barriers to "exchange";  with
  470.      RBBS-PC those barriers begin to cease to exist.
  471.  
  472.      While only the  most fanatical  RBBS-PC trivia experts  may be  interested,
  473.      I've gone back  and checked all the  documentation and releases  of RBBS-PC
  474.      that I've authored and here is the tedious chronology:
  475.  
  476.      RBBS-PC CPC17-2A                                                Page 10
  477.  
  478.      RBBS-PC   Initial         Major Enhancements
  479.      Version   Release
  480.      Number     Date
  481.  
  482.      CPC10.0   07/04/83  RBBS-PC first written to be compilable by IBM's BASIC
  483.                          compiler, version 1.0
  484.  
  485.      CPC11.0   08/10/83  RBBS-PC restructured so that all parameters were
  486.                          external (i.e. in the RBBS-PC.DEF) allowing  SYSOPs who
  487.                          didn't want to spend the $300 for the BASIC compiler to
  488.                          tailor RBBS-PC to their taste.  CONFIG.BAS was first
  489.                          written to generate RBBS-PC.DEF.
  490.  
  491.      CPC11.1   09/15/83  Jon Martin contributed UTSPACE.OBJ, a sub-routine that
  492.                          allowed the compiled version of RBBS-PC to determine
  493.                          the amount of free space available for uploading.
  494.  
  495.      CPC11.2   10/01/83  The error trapping within RBBS-PC was completely re-
  496.                          written to be more comprehensive.
  497.  
  498.      CPC12.0   10/28/83  Tree-structured file directories and the ability to
  499.                          detect that RBBS-PC was in a "MultiLink" environment
  500.                          were incorporated.  "MultiLink" is a product of the
  501.                          Software Link, Inc. which allows DOS 1.1, 2.0, 2.1, 3.0
  502.                          and 3.1 to be "multi-tasking."
  503.  
  504.      CPC12.1   12/18/83  The ability for a SYSOP who signed on remotely to drop
  505.                          (Versions  into DOS was added.  Also the "New" command
  506.                          was added "A" to "F")that allowed users to determine
  507.                          what new files had been made available since the last
  508.                          time they were on.
  509.  
  510.      CPC12.2   04/08/84  The security system designed by Ken Goosens was
  511.                          incorporated. RBBS-PC's security system has an elegance
  512.                          "A" to "D")unmatched even by the largest mainframe. 
  513.                          Essentially the security system designed by Ken is
  514.                          "self-locking lock" and, even though RBBS-PC's source
  515.                          code is distributed, it's security system has remained
  516.                          unbroken.  Of course, SYSOPs who didn't adhere to RBBS-
  517.                          PC's security structure have had their system "crashed"
  518.                          and every SYSOP should operate as if the very next
  519.                          caller could crash his system.
  520.  
  521.      CPC12.3   11/11/84  This was almost as complete and as major a re-write of
  522.                          RBBS-PC as CPC10.0 had been. Beginning with CPC12.3 up
  523.                          "A" to "B")to nine RBBS-PCs can share the same files in
  524.                          either a multi-tasking DOS environment (i.e. MultiLink
  525.                          from the Software Link, Inc.) or in a local area
  526.                          network environment (i.e. Corvus or Orchid).
  527.  
  528.      CPC12.4   03/10/85  (Version A, A1, B) RBBS-PC'stature in the industry
  529.                          became recognized  when, as author of RBBS-PC, I was
  530.                          granted a license by Microcom to incorporate their
  531.                          proprietary MNP protocol and "B")into RBBS-PC. Almost
  532.                          at the same time many manufactures recognized the
  533.                          institution that RBBS-PC had become in
  534.  
  535.      RBBS-PC CPC17-2A                                                Page 11
  536.  
  537.      RBBS-PC   Initial         Major Enhancements
  538.      Version   Release
  539.      Number     Date
  540.                          our industry and elected to include "RBBS-PC
  541.                          compatibility" in their minimum criteria for the
  542.                          introduction of their new products.  RBBS-PC's Vendor
  543.                          Support Program is more fully explained in the RBBS-PC
  544.                          documentation but one direct result of this was the
  545.                          introduction  of 300/1200/2400 BAUD support in CPC12.4A
  546.                          before most such modems were generally available.
  547.  
  548.      CPC12.5   07/14/85  (Versions A and B).  RBBS-PC was enhanced to allow 36 
  549.                          copies of RBBS-PC to share the same files in a network
  550.                          environment. RBBS-PC automatically answers the phone
  551.                          and no longer requires each caller to enter up to 3
  552.                          carriage returns in order for RBBS-PC to detect the
  553.                          users baud rate and parity.  Logon to RBBS-PC has been
  554.                          made much more efficient with the USERS file no longer
  555.                          being searched sequentially and the MESSAGES file no
  556.                          longer being read three times.  Version CPC12-5B,
  557.                          released August 25, 1985, WAS THE LAST VERSION
  558.                          COMPILABLE BY VERSION 1.0 OF THE IBM BASIC COMPILER!
  559.  
  560.      CPC13.1   12/01/85  RBBS-PC was completely rewritten for both the IBM BASIC
  561.                          compiler ($495 list  price) and Microsoft's  QuickBASIC
  562.                          Version 1.0($99  list price).  XMODEM with CRC was
  563.                          added as a file-transfer protocol as well as the
  564.                          ability to display on the color monitor of the PC
  565.                          running RBBS-PC the color/graphics that the remote user
  566.                          sees exactly as he  sees them.
  567.  
  568.      CPC14.1   03/16/86  (Versions A, B, C, and D)  RBBS-PC's internal structure
  569.                          was split into two parts - RBBS-BAS for the main-line
  570.                          source code and logic, and a RBBS-SUB.BAS for commonly
  571.                          called subroutines.  This allows unlimited growth for
  572.                          RBBS-PC by providing multiple "code segments" within
  573.                          RBBS-PC.  Support for on-line questionnaires,
  574.                          auto-downloading, and the Columbia University-sponsored
  575.                          KERMIT RBBS-PC Version  protocol were also included as
  576.                          well as the option to utilize assembly language
  577.                          subroutines to increase for better performance over
  578.                          their BASIC counterparts.
  579.  
  580.      CPC15.1   03/15/87  RBBS-PC's internal structure continued to become
  581.                          significantly more modularized and structured.  Major
  582.                          enhancements included a File Management System for
  583.                          directories, additional file exchange protocols,
  584.                          support for managing subscriptions, the ability to run
  585.                          as a local application on a network, configurable
  586.                          command letters, the ability to use any field or to
  587.                          define a new field to identify callers, the ability to
  588.                          individuate callers having the same ID, multiple
  589.                          uploads on a single command line, new A)nswer and
  590.                          V)erbose ARC list commands, context sensitive  help, 
  591.                          and  a  new subsystem  for software "libraries".
  592.  
  593.      RBBS-PC CPC17-2A                                                Page 12
  594.  
  595.      RBBS-PC   Initial         Major Enhancements
  596.      Version   Release
  597.      Number     Date
  598.  
  599.      CPC16.1   03/27/88  (Version A) RBBS-PC's internal structure continued to
  600.                          become significantly more modularized and structured.
  601.                          Major enhancements included the addition of
  602.                          "sub-boards" (i.e. conferences with there own
  603.                          bulletins, file areas, menus etc.), a programmable user
  604.                          interface, the capability to have SYSOP-written
  605.                          "sub-menus" for any command, the ability to hang off of
  606.                          a public data network such as Compuserve's as a "node",
  607.                          the incorporation of "personal downloads" (i.e. files
  608.                          only specific individuals could list/download), the
  609.                          ability to vary the amount of time a user has on the
  610.                          system by the time of day the user logs on, the
  611.                          capability of preventing any message (public or
  612.                          private) from being read until the SYSOP has reviewed
  613.                          it, an enhanced CONFIG utility with many more options,
  614.                          YMODEM protocol built-in to RBBS-PC's main-line source
  615.                          code, the ability to automatically add users to
  616.                          conferences, and support for The Software Link's
  617.                          MultiLink  Version 4.0. Despite all these enhancements,
  618.                          the BASIC RBBS-PC code was significantly enhanced such
  619.                          that it only requires 268K to run -- allowing two
  620.                          copies to run in multi-tasking DOS environments that
  621.                          have 640K available. 
  622.  
  623.      CPC17.1   10/02/88  (Versions A, B, C, and D).  RBBS-PC's internal
  624.                          structure continued to become significantly more
  625.                          modularized and structured. Major enhancements were
  626.                          made in the System Support area, and the support for up
  627.                          to eight communications ports;built-in interfaces to
  628.                          external communications drivers based on Vince
  629.                          Perriello's "FOSSIL" driver concepts; automatic
  630.                          notification of the SYSOP when specific users log on;
  631.                          improved automatic invocation of other applications
  632.                          based on time of day; and SYSOP-selectable time delays
  633.                          that users must wait before being able to download or
  634.                          exit to a door.  RBBS-PC's unique programmable user
  635.                          interface (PUI) was enhanced to support "macros" (i.e.
  636.                          use a single command to invoke any number of RBBS-PC
  637.                          commands); SYSOP-selectable colors for all prompts and
  638.                          messages (i.e. "colorization"); caller-selectable
  639.                          "colorization" for text (i.e. color, bold or normal,
  640.                          highlighting of text, etc.);  and personalized text
  641.                          files (i.e. text files that can dynamically adapt to
  642.                          include information unique to each caller).  The
  643.                          messaging within RBBS-PC was enhanced to notify each
  644.                          caller that logs on of the number of new messages and
  645.                          how many are addressed to the caller for the
  646.                          conferences to which the caller belongs.  The text
  647.                          editor function for messages was enhanced to allow any
  648.                          character to be edited.  RBBS- PC's standard "threaded"
  649.                          message search now also scans the text of the messages
  650.                          for matches.  The RBBS-PC file subsystem was also
  651.                          significantly enhanced to include an unlimited number
  652.                          of installable protocols; batch downloading for such
  653.                          protocols that support this (i.e. Zmodem, Megalink, and
  654.                          Sealink); and control of callers ability to download
  655.  
  656.      RBBS-PC CPC17-2A                                                Page 13
  657.  
  658.                          based on either the number of characters or the ratio
  659.                          of the callers downloads to uploads.
  660.  
  661.      CPC17.2   05/28/89  (Version A).  RBBS-PC's internal structure continued to
  662.                          evolve as an example of a modularized and structured
  663.                          BASIC program (20,000+ lines of source code).  Major
  664.                          enhancements consisted of increased flexibility in
  665.                          invoking external applications (i.e. "DOORS"), on-line
  666.                          questionnaires, RBBS-PC command "macros", the
  667.                          integration (using the enhanced questionnaires and
  668.                          "macros") of on-line data base facilities into RBBS-PC,
  669.                          as well as extended support in RBBS-PC's file system to
  670.                          support ANY file compaction technique (i.e. .ARC, .ZOO,
  671.                          .ZIP, etc.) -- including allowing on-line users to list
  672.                          text files that have been included within a compacted
  673.                          file (thanks to Samuel Smith of The Tool Shop BBS). 
  674.                          RBBS-PC's "NETMAIL" interface to store and forward
  675.                          messaging systems (i.e. FIDO MAIL, etc.) was enhanced. 
  676.                          Within the messaging subsystem numerous enhancements
  677.                          were added including the ability to quote all or part
  678.                          of a message that the caller was replying to.  RBBS-
  679.                          PC's file subsystem was improved to allow the system to
  680.                          be configured such that all uploads were automatically
  681.                          checked/verified (by whatever utility the SYSOP wanted
  682.                          to use).  RBBS-PC commitment to the concept of "users
  683.                          helping users" was demonstrated once again with the
  684.                          incorporation of support for the Computalker and
  685.                          HEARSAY 1000 speech boards so that seeing-impaired
  686.                          SYSOPS could hear (in a meaningful way) the activity
  687.                          occurring on their RBBS-PC bulletin boards. 
  688.  
  689.      RBBS-PC CPC17-2A                                                Page 14
  690.  
  691.      During  the  evolution  of  RBBS-PC I have had the  distinct  privilege  of
  692.      working   with   many  contributors.    Contributions  have   ranged   from
  693.      suggestions,  to software fixes,  to significant enhancements,  to improved
  694.      documentation.  Some  of the  individuals named here  have continued  their
  695.      contributions to RBBS-PC even to the current  release.  Others have gone on
  696.      to pursue other interests.  Where they are now, for the most part, I do not
  697.      know.  Whether  they have become heroes  or villains, it is  not important.
  698.      None should be  forgotten.   In their contributions  to RBBS-PC's  on-going
  699.      growth, each  has paused to  give of themselves  without hope of  reward by
  700.      practicing RBBS-PC's fundamental  principle -- "users helping  users."  For
  701.      those who became  less than they were,  they should be remembered  for what
  702.      they  contributed.   For  those  who  have became  more,  I am  continually
  703.      reminded  that RBBS-PC  has  granted me  the privilege  of  walking in  the
  704.      company of giants.
  705.  
  706.      While I have met very few of these people personally, those   whose names I
  707.      remember are:
  708.  
  709.      Doug Azzarito      John German       Blaine Korsel       Samuel H. Smith
  710.      Jeff Batdorf       Read Gilgen       Matt Malden         Gregg Snyder
  711.      Rod Bowman         Ken Goosens       Carl Margolis       Robert Snyder    
  712.      Randy Brodersen    Ray Gwinn         Jon Martin          Carl Spencer     
  713.      Mike Brown         Dave Hacquebord   Robert Mahoney      David Staehlin   
  714.      Sam Brown          Steve Harrison    Sidney Markowitz    Stan Staten      
  715.      Mike Button        Gary Hoff         Louie McCaw         Dorn Stickle     
  716.      Vince Castelli     Gary Howrith      Wes Meier           Terry Steichen   
  717.      Rob Cecchino       Charlie Innusa    John Morris         Randy Sun        
  718.      Tom Collins        Loren Jones       Bill Newkirk        Yew Seng Tan     
  719.      Drew Commins       Larry Jordan      Jeregen Nordhausen  Terry Taylor     
  720.      Ezra Conger        Robert Jueneman   Vince Perriello     Jan Terpstra     
  721.      Ed Copley          Vern Kallegin     Harvey Pierce       David Terry      
  722.      Richard Couture    Dave Kleinschmidt Danny Plunkette     Arnold Thomsen   
  723.      Bob Cramer         Steven Kling      Lee Pollard         Daan van der Weide
  724.      Dave Crane         Ronald Koridon    Jeff Porter         Rick Wadowski
  725.      Everett Delano     Steve Lieber      James Reinder       Clark Walker     
  726.      Peter Eibl         Steven Linhart    Kurt Riegel         Kim Wells    
  727.      Warren Fox         Joseph Lionelle   Joel Ricketts       Bob Westcott     
  728.      John Friel         Scott Loftesness  Jacques Rodrique    Robert White
  729.      Jim Fry            Harry Logan       Dick Rohradnz       John Krytus
  730.      Asa Fulton         Gene Lowry        Rich Schinnell      
  731.      Kent Galbraith     James Ludwick     Mark Seiden
  732.      Mitch Geier        Kevin Lutz        Andrew Silber     
  733.  
  734.      Special thanks goes to  SYSOPs who helped sponsor enhancements  to RBBS-PC,
  735.      including Ken Rogers  of the  United States Department of Commerce ECONOMIC
  736.      BULLETIN   BOARD    who   encouraged   configurable    identification   and
  737.      individuation,  Loren  Jones of  The Center  for Law  and Computers  at the
  738.      Illinois   Institute  of  Technology's  Chicago-Kent  College  of  Law  who
  739.      contributed to subscription support,  John Rittwage of the American College
  740.      of  Obstretricans and  Gynecologists who  helped support  submenus  and the
  741.      programmable user interface, and Brian  Kelly of National Credit Appraisals
  742.      and  Reporting, whose special  needs prompted  the development  of personal
  743.      downloading. 
  744.  
  745.      To  those   whose names have not been mentioned -- apologies  are  extended
  746.      Take comfort in knowing that you live on in the work that you have wrought.
  747.  
  748.      Jon  Martin is primarily responsible for whatever technical excellence that
  749.      exists in RBBS-PC -- including the ability to have multiple RBBS-PC's share
  750.      the same files.   I am not a programmer and didn't even know BASIC until  I
  751.  
  752.      RBBS-PC CPC17-2A                                                Page 15
  753.  
  754.      started  writing  RBBS-PC in June of  1983 and released RBBS-PC  CPC10.0 in
  755.      July  of  1983.   Jon's  commitment to RBBS-PC has at least matched my own.
  756.       Despite my  own  ineptness,   Jon's patience, understanding, and technical
  757.      insights have been   unfailing over these  several years and, I  would like
  758.      to  both publicly acknowledge his contributions to RBBS-PC and  express  my
  759.      appreciation for his efforts on behalf of RBBS-PC.
  760.  
  761.      I'd  also like to mention Ken Goosens' efforts on behalf of  RBBS-PC.   Ken
  762.      took  the  time  and  trouble to wade through the  BASIC  source  code  and
  763.      incorporated  the  "security"  system that  exists  within  RBBS-PC  today.
  764.       Anyone  who   looked  at   the source code  prior to release CPC12-2A  can
  765.      appreciate  the  magnitude  of  Ken's  efforts.  Over  these last few years
  766.      Ken has  continued to be  an unending  source of creative  contributions to
  767.      RBBS-PC.
  768.  
  769.      I  wish  space  allowed me to chronicle the contributions of  each  of  the
  770.      contributors    to RBBS-PC.     In  an  age  of cynicism,  RBBS-PC  and the
  771.      Userware  concept  represents an opportunity for each of us to give back to
  772.      the world  something a little better than when  we found it.   As I said in
  773.      section 1,  this is something that I believe in strongly.    To each of the
  774.      contributors  to  RBBS-PC  I  would like to say personally
  775.  
  776.               "I am very  proud  of  the company that RBBS-PC keeps."
  777.  
  778.      All  changes  to RBBS-PC since CPC10.0  have been "ADDITIVE," meaning  that
  779.      all capabilities in earlier versions are retained in the later versions.
  780.  
  781.      RBBS-PC CPC17-2A                                                Page 16
  782.  
  783.      1.4  RBBS-PC Update Conventions
  784.      -------------------------------
  785.      RBBS-PC   continues  to evolve and  be "debugged."  The   following  coding
  786.      conventions  have been helpful in the past and you are requested to observe
  787.      them in the future: 
  788.  
  789.      Updates  consist of two types of ASCII files.   One called xxxxxx.MRG which
  790.      are  the   BASIC  source   statements  for the particular  base-line source
  791.      code component of RBBS-PC to be updated.  The lines that have been modified
  792.      are indicated as being so modified with a comment beginning in column 70 in
  793.      the format as follows:
  794.  
  795.      4330 QUICK.SCAN.MESSAGES = FALSE                             ' CPC14-1D
  796.  
  797.      These .MRG  files  can be  applied to  the base-line  source  code via  Ken
  798.      Goosens  Batch Line EDitor  utility program (BLED).   The BLED  utility can
  799.      easily create .MRG  files as  it has  both a  file compare  and file  merge
  800.      function  that  is  specifically   geared  to  the  new  BASIC   compiler's
  801.      capabilities that allow lines of source to be unnumbered. 
  802.  
  803.      The second file type is called xxxxxx.DOC.  It  describes on a line-by-line
  804.      basis the specific functions  added or bug  that   was  fixed.    Obviously
  805.      xxxxxx can be anything you  wish to name it.    The second type of file  is
  806.      what  allows me to  integrate several .MRG  files   and  resolve   whatever
  807.      conflicts that may exist.  
  808.  
  809.      Each incremental release of RBBS-PC beyond CPC17-2A will include updates to
  810.      the base-line documentation.  This documentation  update will include a new
  811.      Table of Contents  which not only  will be a  complete replacement for  the
  812.      base-line Table of Contents but which  also will indicate (to the right  of
  813.      the page numbers for  each section that has been  updated) the date of  the
  814.      latest update (beyond the base-line). 
  815.  
  816.      The RBBS-PC naming conventions of CPCxx.x are roughly as follows:
  817.  
  818.      1.   If  a "bug" is being fixed CPCxx.x will be given a .MRG file name such
  819.  
  820.      as  CPC14-1D.MRG  with  a corresponding CPC14-1D.DOC  file  describing  the
  821.      changes.   The   first  version   of  CPCxx.x  is   always "A".    When you
  822.      logon to RBBS-PC the  version  will  be  displayed. 
  823.  
  824.      2.   As bugs are reported and fixes  found for the current release of RBBS-
  825.      PC, the source code  corrections are distributed via an  RFIXmmdd.ARC file.
  826.      This contains the  necessary files to  apply the "temporary fixes"  against
  827.      the released  version of  the source code  and re-compile the  source code.
  828.      The recompiled .EXE files are distributed via a file named RFIX-EXE.ARC.
  829.  
  830.      3.   If a new feature or enhancement is added the last digit in the CPCxx.x
  831.      will be incremented by one (i.e. CPC12.2D was followed by CPC12.3A).
  832.  
  833.      4.   If a significant change to source code or logic occurs,  the first two
  834.      digits  of  the  release level will change (i.e.  CPC14.1 was  followed  by
  835.      CPC15.1)   The  purpose of these conventions is to allow everyone  to  know
  836.      what   RBBS-PC level they are running under (users as well as SYSOPs)   and
  837.      understand  the logic behind the changes/fixes as they occur so each  SYSOP
  838.      can evaluate them for his own needs.
  839.  
  840.      If you have  comments or  fixes please   let me  know so that  they can  be
  841.      reflected in  the RBBS-PC program and shared   with all other users.    You
  842.      can do that by sending your changes by mail to:
  843.  
  844.      RBBS-PC CPC17-2A                                                Page 17
  845.  
  846.  
  847.                                    D. Thomas Mack
  848.                                   39 Cranbury Drive
  849.                              Trumbull, Conneticut 06611 
  850.  
  851.      or uploading the changes to either of my RBBS-PC lines -- (203) 268-5315 or
  852.      (203) 268-0129.
  853.  
  854.      While  comments   and  suggestions  are  always  welcome,  those  that  are
  855.      accompanied by the RBBS-PC source code changes that implement them  carry a
  856.      lot more weight than those that don't.
  857.  
  858.      RBBS-PC CPC17-2A                                                Page 18
  859.  
  860.      1.5  Beta test sites, Where and Why
  861.      -----------------------------------
  862.      Many people volunteer  to be "beta test"  sites.  It is fitting  that those
  863.      who do know why each release of  RBBS-PC is "beta tested" and what it takes
  864.      to be a "beta test" site.
  865.  
  866.      The "beta test" process  seeks to put each new  release in as varied as  an
  867.      environment as possible  in order to  resolve bugs in  the new features  as
  868.      well as assure that  old bugs are not re-introduced by  the addition of new
  869.      features.   Beta testers take professional pride in  what RBBS-PC is -- the
  870.      bulletin board  standard  for  the IBM  PC  industry.   Every  beta  tester
  871.      recognizes their  responsibility to those  who have contributed  to RBBS-PC
  872.      and assumes the obligation of not letting them down by putting out a shoddy
  873.      product.     
  874.  
  875.      There are essentially only 13 criteria for becoming  a beta test site:
  876.  
  877.        1.  A commitment to the "Userware" concept and the free exchange of
  878.            information.
  879.  
  880.        2.  A demonstrated knowledge of RBBS-PC's source code.
  881.  
  882.        3.  A willingness to work within the confines of the BASIC language.
  883.  
  884.        4.  A determination to avoid eliminating earlier functionalities within
  885.            RBBS-PC -- only add new ones.
  886.  
  887.        5.  A system on which unmodified versions of the new beta test version
  888.            of RBBS-PC will be run.
  889.  
  890.        6.  Being unwilling to release any part of what is being beta tested
  891.            to anyone else.
  892.  
  893.        7.  Accepting the risk of having your entire system and hard disk be
  894.            vulnerable to software flaws in the version of RBBS-PC being beta
  895.            tested. 
  896.        8.  Being willing to FIX the bugs you encounter -- simply reporting
  897.            them is not enough!
  898.  
  899.        9.  Living with the bugs that aren't fixed until they are fixed.
  900.  
  901.        10. Being willing to call and discuss problems via voice (at your
  902.            expense -- not mine).
  903.  
  904.        11. Being willing to call and download (almost daily during the "beta
  905.            test" period) 450K files also at your expense.
  906.  
  907.        12. Living with the fact that whatever you are beta testing is not
  908.            going to be what is actually released and that you will probably
  909.            have to download what is actually released just like every one
  910.            else.
  911.  
  912.        13. Being charitable about the author's programming skills.
  913.  
  914.      Of all the criteria,  it is the first one that is  often the most difficult
  915.      requirement  for  those who  would  be  "beta  testers"  to  accept.    The
  916.      commitment to the "Userware" concept requires that contributors  to RBBS-PC
  917.      insist  on accepting  neither personal  recognition,  monetary reward,  nor
  918.      benefit for their  contributions -- except the self-satisfaction in knowing
  919.      that whatever they  contributed made RBBS-PC  (and hopefully) the PC  world
  920.  
  921.      RBBS-PC CPC17-2A                                                Page 19
  922.  
  923.      better than it might otherwise have been.
  924.  
  925.      RBBS-PC does not  exist to be a means to some individual's personal gain or
  926.      ego gratification.   Too  many people  have contributed  too selflessly  of
  927.      themselves to RBBS-PC for this to ever be allowed to happen.  For those for
  928.      whom  this  is   too  difficult  a  requirement,   RBBS-PC's  totally  open
  929.      architecture provides the  .MRG/.DOC mechanism (documented in  section 1.4)
  930.      to allow individual  authors of software  modifications to RBBS-PC to  both
  931.      achieve  individual  recognition  and monetary  reward  from  those RBBS-PC
  932.      SYSOPs who want to incorporate such merges and features into their versions
  933.      of  RBBS-PC.   Please  note that  distribution  of .MRG  and .DOC  files is
  934.      totally consistent with the  limited license that is granted  with RBBS-PC.
  935.      Also note that distribution of modified versions of RBBS-PC is in violation
  936.      of RBBS-PC's limited license agreement.
  937.  
  938.      Needless to  say, those few who participate in  each new release of RBBS-PC
  939.      typically are not the same people from release to release.  This is because
  940.      of  the intensity  and time  that the beta  test period  makes on  the beta
  941.      testers.  Another constraint is my  abilities to adequately respond to more
  942.      than  two or three beta testers  at most.  Finally,  like owning a swimming
  943.      pool or a  boat, everyone wants to be a beta  tester once!  There is little
  944.      glory  and lots of  pain.    Jon and I  usually divide up  the beta testing
  945.      based on who lives east and west of the Mississippi river in  order to have
  946.      as many beta test sites as possible.  Ken has beta test sites all  over the
  947.      United States.
  948.  
  949.      Most  of the  credit for  RBBS-PC  CPC17-2A being  better than  the earlier
  950.      versions goes to the following beta testers:
  951.  
  952.         Doug Azzarito, Palm Beach Gardens, Florida
  953.         Rod Bowman, Alta Loma, California
  954.         Mike Brown, Madison, Wisconsin
  955.         Paul Cangialosi, Woodbury, N.Y.
  956.         Juan Davila, Rio Piedro, Puerto Rico
  957.         Francis Dorer, Fairfax, Virginia
  958.         Dave Hacquebord, Tampa, Florida
  959.         Loren Jones, Chicago Illinois
  960.         Steven Kling, Brentwood , Maryland 
  961.         John Krytus, Northwood, Ohio
  962.         Ron Kurr, Atlanta, Georgia
  963.         Terry Leckbee, Kansas City, Kansas
  964.         Gene Lowry, Tuscon, Arizona
  965.         Alex Mondale, Washington, D.C.
  966.         Willie Moore, Birmingham, Alabama
  967.         Lee Pollard, Oxon Hill, Maryland
  968.         Lyndon Payne, Plano, Texas
  969.         Malcom Ramsay, Roswell, Georgia
  970.         Steve Rogers, Lincoln, Nebraska
  971.         RoseMarie Siddiqui, Fairfax, Virginia
  972.         Phil Simerly, Chantilly, Virginia
  973.         Ray Smith, Carrollton, Texas
  974.         Greg & Bob Snyder, Burke, Virginia
  975.         Stan Staten, Gaithersburg, Maryland
  976.         Terry Taylor, San Leandro, California
  977.         Rick Wadowski, Clinton Twp, Michigan
  978.         Kim Wells, Largo, Maryland
  979.  
  980.      RBBS-PC CPC17-2A                                                Page 20
  981.  
  982.      1.6  An Example of "Users Helping Users"
  983.      ---------------------------------------
  984.      The ability to have multiple RBBS-PC's running  concurrently -- either on a
  985.      single PC in a multitasking DOS environment or  in a local area network, is
  986.      a concrete example of the concept of "users helping users" in action.  This
  987.      ability was  developed  in support  of the  efforts of  the  State of  West
  988.      Virginia Department of Education's "West Virginia Microcomputer Educational
  989.      Network" project.   It  is the  first statewide  microcomputer network  and
  990.      encompasses  all  of  the state's  1,125  schools  in  55 different  school
  991.      districts.        Each  school  is  intended  to  have  the  capability  of
  992.      accommodating up  to twenty  IBM PC's  in a  local area  network sharing  a
  993.      common 20MB disk drive.   As of June of  1984, 83 of the 1,125  schools had
  994.      such networks.   Each  PC can communicate  with either  the LAN,  a central
  995.      library, or with  other schools in order  to share programs and  materials.
  996.      The key component  for this communication is RBBS-PC.  In a presentation at
  997.      the U.S. Department  of Education in Washington,D.C. on  June 22, 1984, the
  998.      role RBBS-PC plays was described as follows:
  999.  
  1000.      "The  medium that  ties  the  entire system  together  --  that allows  for
  1001.      communication not  only between  one school  and another  but also  between
  1002.      schools  and  the  central  library  --  is an  electronic  bulletin  board
  1003.      (RBBS-PC)  This bulletin board  will be in operation 24 hours a  day at the
  1004.      central site, with a similar bulletin board in operation at every school.
  1005.  
  1006.      The local school bulletin board (RBBS-PC) could be accessed by students who
  1007.      wish to review  their lesson or take  a test at home  provided they had   a
  1008.      computer  and a  modem.  Teachers  could access  their grade book  or other
  1009.      reports and lessons at home in preparation for the next school day.
  1010.  
  1011.      Neither  bulletin board  system  (RBBS-PC)  requires  personnel  to  answer
  1012.      telephones or transmit files.   They are both totally unmanned and  operate
  1013.      24 hours a day.  No toll  charges, of course, would be assessed for calling
  1014.      the  local school  bulletin board and  toll free  800 numbers are  used for
  1015.      accessing the central library."
  1016.  
  1017.      The State of West Virginia arranged  to have the vendors involved, IBM  and
  1018.      Corvus, make the appropriate equipment available on a "loan"  basis so that
  1019.      RBBS-PC  could be developed  to work in  a local area  network environment.
  1020.      Since this  project conformed so closely to the primary objectives of RBBS-
  1021.      PC, we agreed to volunteer our time and take on the task of enhancing RBBS-
  1022.      PC  to  allow up  to nine  (9)  copies of  RBBS-PC to  execute concurrently
  1023.      sharing  many of  the same files.   On  a single  PC the maximum  number of
  1024.      concurrently running RBBS-PC's within the same DOS is limited only by:
  1025.  
  1026.      a.  the number of communications ports installed on the PC.  IBM's limit is
  1027.      two (COM1 and  COM2), but other vendors supply "add-on"  cards that provide
  1028.      for up to eight or more communications ports on a single PC.
  1029.  
  1030.      b.  the  number of communications ports  that the BASIC compilers  can read
  1031.      and write  to --  currently COM1  and COM2.   IBM  expanded  the number  of
  1032.      communication  ports available  for  the PS/2  models  running PC-DOS  3.3.
  1033.      RBBS-PC, beginning  with  CPC17-1A, can  support additional  communications
  1034.      ports using FOSSIL drivers (see CONFIG parameter 221).
  1035.  
  1036.      c.the  number of concurrently running  tasks that can  be supported.  IBM's
  1037.      DOS is limited  to one task.   Other vendors  provide "add-on" software  to
  1038.      IBM's DOS that provides for up to nine simultaneous tasks.
  1039.  
  1040.      Within a network  environment (i.e. multiple  PC's linked together  sharing
  1041.      the same  devices) the  maximum number of  concurrent RBBS-PC's  is set  by
  1042.  
  1043.      RBBS-PC CPC17-2A                                                Page 21
  1044.  
  1045.      RBBS-PC's internal design to  nine (9).  This design was  based on the fact
  1046.      that anyone who wanted to run nine RBBS-PC's sharing the same  set of files
  1047.      would  take  the $46,000  needed  to  buy nine  PC's  with  modems, network
  1048.      interface cards, hard disk (at least 20MB) and purchase a minicomputer  for
  1049.      the same amount of money with more ports and storage.  CPC13-1A was updated
  1050.      to allow for  36 RBBS-PC'S  to share  the same files.  For those interested
  1051.      in  further  information  on  the State  of  West  Virginia's Microcomputer
  1052.      Educational Network, please contact:
  1053.  
  1054.                     Mr. John E. Cook
  1055.                     State of West Virginia Department of Education
  1056.                     1900 Washington Street East
  1057.                     Building 6, Room 221, Capital Complex
  1058.                     Charleston, West Virginia  25305
  1059.  
  1060.      RBBS-PC CPC17-2A                                                Page 22
  1061.  
  1062.      2. SUMMARY OF RBBS-PC'S FEATURES
  1063.      ---------------------------------
  1064.      During the past five years RBBS-PC  has received many accolades.  PC  World
  1065.      says  "For electronic  mail and  bulletin  board applications,  the RBBS-PC
  1066.      software is the best choice."  EDP Analyzer says "RBBS-PC is the easiest to
  1067.      use."    RBBS-PC  was  the  origin  of PC  Magazine's  "Interactive  Reader
  1068.      Service."  PC Magazine writes that RBBS-PC "is one of  the most popular BBS
  1069.      programs for  the IBM PC"  and has  called RBBS-PC "an  industry standard."
  1070.      INFOWORLD, in  a comparison  of the  most popular  PC-based bulletin  board
  1071.      systems rated RBBS-PC the highest.  Almost as if in confirmation,  the U.S.
  1072.      Department of Commerce's National Bureau of  Standards report on Electronic
  1073.      Bulletin Boards (publication NBSIR 86-3356) is devoted entirely to RBBS-PC.
  1074.  
  1075.      RBBS-PC  CPC17-2A  is  a significant enhancement to RBBS-PC and will be the
  1076.      35th  release of RBBS-PC CPCxx since I first  published it in July of 1983.
  1077.      RBBS-PC's  policy of freely  distributing the  source code  and continually
  1078.      expanding  it's  range of  capabilities  throughout these  last  five years
  1079.      represents not only the very best that is embodied in the concept of "users
  1080.      helping users"  but an expectation of excellence that  NO product in the PC
  1081.      industry  has ever even approached.   Here is a brief  summary of the major
  1082.      features of RBBS-PC.
  1083.  
  1084.      RBBS-PC is  the Remote  Bulletin Board System  for the IBM  (or compatible)
  1085.      personal computer.    One of it's two primary purpose is to foster the free
  1086.      exchange of information  by allowing  a  microcomputer to be turned  into a
  1087.      "host"  computer that  people  can "dial"  into and  use.     It is  a full
  1088.      featured Bulletin Board System that supports:
  1089.  
  1090.      o    bulletins
  1091.      o    electronic mail (public and private)
  1092.      o    file exchange (uploading and downloading)
  1093.      o    on-line questionnaires based on "scripts" written by the SYSOP
  1094.      o    access to other applications from RBBS-PC (i.e. "dooring"), and
  1095.      o    letting authorized callers drop into the operating system to run      
  1096.           programs remotely from the caller's computer.
  1097.  
  1098.      RBBS-PC is  unique among host  communications programs in  that it  is made
  1099.      available under a limited license which requires that no charge for RBBS-PC
  1100.      be  levied -- only a  minimal copying fee is permitted.   RBBS-PC is unique
  1101.      also in that ALL  the source code for each release  is also made available.
  1102.      Those who  wish to make contributions  for RBBS-PC are asked  to contribute
  1103.      enhancements to  RBBS-PC itself  or contributions  to the  Capital PC  User
  1104.      Group.  The  author and contributors neither  ask for nor accept  money for
  1105.      RBBS-PC.  Upgrades, which average about two a year, are free.   There is no
  1106.      extra charge for a multi-user  version.  In fact there is only one RBBS-PC!
  1107.      It can act as either a multi-user version or as a single-user system.
  1108.  
  1109.      The purpose of this  section is to provide a check  list of RBBS-PC's major
  1110.      features.  After all, being free and including source code means that RBBS-
  1111.      PC is the "industry standard"  against which systems with similar functions
  1112.      can be judged by end-users.
  1113.  
  1114.      RBBS-PC has been  around since 1983, and  many people may not  realize just
  1115.      how extensively it has evolved and been enhanced over these last six years.
  1116.      One advantage  of distributing source  code is that  those who run  RBBS-PC
  1117.      systems are  able to  contribute improvements  to it.     Many people  have
  1118.      contributed to RBBS-PC over the years -- over 80 are listed in the  RBBS-PC
  1119.      documentation itself.   The check list  of major features and  enhancements
  1120.      that follows are just part of this on-going tradition.
  1121.  
  1122.      RBBS-PC CPC17-2A                                                Page 23
  1123.  
  1124.      2.1 General
  1125.      ------------
  1126.      Number of different "conferences" or messages areas           -- unlimited
  1127.      Number of messages that can be left                           -- unlimited
  1128.      Number of files that can be uploaded or downloaded            -- unlimited
  1129.      Number of bulletins that can be posted by the SYSOP           -- unlimited
  1130.      Number of different file transfer protocols supported         -- unlimited
  1131.      Number of external applications that can be "DOORed" to       -- unlimited
  1132.      Number of on-line questionnaires                              -- unlimited
  1133.      Number of questions in on-line questionnaires                 -- unlimited
  1134.      Number of levels of security                                  -- 66,536
  1135.      Number of registered callers                                  -- 32,767
  1136.      Maximum number of characters in a single file                 -- 32,767
  1137.      Maximum baud rate supported                                   -- 19,200
  1138.      Maximum number of characters in a single message              -- 6,128
  1139.      Maximum number of lines in a single message                   -- 99
  1140.      Maximum number of simultaneous callers or users               -- 36
  1141.      Maximum number of communications ports supported on a one PC  -- 8
  1142.      Donation to CPCUG for a copy of RBBS-PC (4 diskettes)         -- $16
  1143.      Is the multi-user version included in the price               -- yes
  1144.      Is technical support included in the price                    -- yes
  1145.      Is ALL source code distributed with each release              -- yes
  1146.      Are fixes and patches promptly made available                 -- yes
  1147.      Is extensive technical documentation (220+ pages) including
  1148.                   file descriptions and record layouts distributed
  1149.                   with each release                                -- yes
  1150.      Is there an OPTIONAL -- but professionally written and
  1151.                   published (Bantam Books ISBN 0-553-34552-4),
  1152.                   startup guide (430+ pages) for first time
  1153.                   bulletin board system operator (SYSOP)           -- yes
  1154.  
  1155.      RBBS-PC CPC17-2A                                                Page 24
  1156.  
  1157.      2.2 Messaging
  1158.      --------------
  1159.      Within a conference or message area:
  1160.         The user's last message read is remembered                 -- yes
  1161.         A user's security level can be unique to each conference   -- yes
  1162.         User's "preferences" (expert/novice) can be unique         -- yes
  1163.         A user can have privileges different from other areas      -- yes
  1164.  
  1165.      Conferences can be:
  1166.         Public (anyone can join)                                   -- yes
  1167.         Private (only pre-registered users can join)               -- yes
  1168.         Semi-private (users with sufficient security can join)     -- yes
  1169.  
  1170.      Each conference or message area can have unique or different
  1171.         Bulletins                                                  -- yes
  1172.         On-line help files                                         -- yes
  1173.         Files available for downloading                            -- yes
  1174.         mixtures of commands                                       -- yes
  1175.         menus                                                      -- yes
  1176.         "Doors" (i.e. external applications that are exited to)    -- yes
  1177.  
  1178.      When callers log on they can (at the SYSOP's option) be
  1179.         Automatically notified of all mail waiting for them        -- yes
  1180.         Automatically notified of only NEW mail waiting for them   -- yes
  1181.         Automatically notified which conference has mail for them  -- yes
  1182.         ONLY notified of mail in conferences the caller belongs to -- yes
  1183.         Automatically notified of the messages that they have left -- yes
  1184.         Automatically notified of the files they uploaded          -- yes
  1185.         Automatically notified of the files that they downloaded   -- yes
  1186.         Automatically notified of their profile of preferences     -- yes
  1187.         Automatically notified of any new "bulletins"              -- yes
  1188.         Automatically notified of any new files                    -- yes
  1189.         Immediately download files                                 -- yes
  1190.         Immediately list the new bulletins                         -- yes
  1191.         Immediately go directly to a specific area (turbo logon)   -- yes
  1192.  
  1193.      Specific messages can be:
  1194.         Public (readable by all)                                   -- yes
  1195.         Private (to a specific individual)                         -- yes
  1196.         To a "group" (readable by a specific collection of users)  -- yes
  1197.         Password protected (readable by supplying the password)    -- yes
  1198.         Public but available to others after the SYSOP reads it    -- yes
  1199.         Private but available to addressee after the SYSOP reads   -- yes
  1200.         Read by only those with a high enough security level       -- yes
  1201.         "Quick" scanned by subject only                            -- yes
  1202.         "Quick" scanned with 69 messages displayed at a time       -- yes
  1203.         "Scanned" by sender, addressee, date, subject, and date/
  1204.                   time it was received by the addressee            -- yes
  1205.         "Scanned" with 23 messages displayed at a time             -- yes
  1206.         Read while "quick" scanning                                -- yes
  1207.         Killed (i.e. deleted) one at a time                        -- yes
  1208.         Killed in multiples                                        -- yes
  1209.  
  1210.      RBBS-PC CPC17-2A                                                Page 25
  1211.  
  1212.      When a message is read the software provides
  1213.         Name of caller who entered the message                     -- yes
  1214.         Date and time the message was entered                      -- yes
  1215.         Name of caller to whom the message is addressed            -- yes
  1216.         Date and time the message was received                     -- yes
  1217.         Subject of the message                                     -- yes
  1218.         Minimum security level needed to read the message          -- yes
  1219.  
  1220.      Messages can be searched via "threads" (for specific strings)
  1221.         By message subject only (i.e. "static" threading)          -- yes
  1222.         By sender, receiver, subject, or (i.e. "dynamic" threading)-- yes
  1223.         By text within a messages (i.e. "turbo" threading)         -- yes
  1224.         And read while threading without disturbing the search     -- yes
  1225.  
  1226.      Messages can be read
  1227.         Forwards                                                   -- yes
  1228.         Backwards                                                  -- yes
  1229.         Singularly, by specific message number                     -- yes
  1230.         Multiply, by specifying a series of message numbers        -- yes
  1231.         While "static" threading (i.e. matching on subject)        -- yes
  1232.         While "dynamic" threading (i.e. match on all header info)  -- yes
  1233.         While "turbo" threading (i.e. match on header or msg text) -- yes
  1234.         That are only addressed TO the caller                      -- yes
  1235.         That are only FROM the caller                              -- yes
  1236.         Or re-read immediately after the last screen of a message
  1237.                   has been read (useful for long messages)         -- yes
  1238.  
  1239.      When entering or replying to a message
  1240.         The message subject can be edited                          -- yes
  1241.         The sender is notified if the addressee has not logged on  -- yes
  1242.         The caller can see if the mail has been received           -- yes
  1243.         After replying only the message header is displayed        -- yes
  1244.         After replying the caller can re-read the message          -- yes
  1245.         After replying the caller can kill the message replied to  -- yes
  1246.  
  1247.      The built-in message editor has
  1248.         Automatic "word-wrap"                                      -- yes
  1249.         Allows any character as a separator for replacing strings  -- yes
  1250.         Text files to be uploaded remotely as a message            -- yes
  1251.         Text files to be imported by the local SYSOP               -- yes
  1252.         Lines to be deleted                                        -- yes
  1253.         Character strings to be searched and replaced              -- yes
  1254.         Margin widths that can be set by the caller                -- yes
  1255.  
  1256.      RBBS-PC CPC17-2A                                                Page 26
  1257.  
  1258.      2.3 File System Management and Exchange
  1259.      ---------------------------------------
  1260.      The software automatically maintains a list of files
  1261.         available to callers containing:                           -- yes
  1262.                   Name of the file                                 -- yes
  1263.                   Size of the file                                 -- yes
  1264.                   Date the file was created                        -- yes
  1265.                   One-line description of the file                 -- yes
  1266.                   Extended (multi-line) file description           -- yes
  1267.  
  1268.      Unlimited number of categories in which to classify files     -- yes
  1269.  
  1270.      Categories can have multiple line descriptions                -- yes
  1271.  
  1272.      A file can be associated with multiple categories providing
  1273.                   the capability of having a complex, tree
  1274.                   classification system for files                  -- yes
  1275.  
  1276.      Callers can search the list of files available                -- yes
  1277.                   By category                                      -- yes
  1278.                   By date (most recent first)                      -- yes
  1279.                   By match on a string in one-line description     -- yes
  1280.                   By match on a string in extended description     -- yes
  1281.                   By "wildcards"                                   -- yes
  1282.  
  1283.      Callers who upload files can be asked to:
  1284.                   Categorize the uploaded file                     -- yes
  1285.                   Provide a one-line description of the file       -- yes
  1286.                   Provide an extended description of the file      -- yes
  1287.  
  1288.      Authorized callers can add file descriptions without uploading-- yes
  1289.  
  1290.      On an unsuccessful upload, the partial file is deleted        -- yes
  1291.  
  1292.      Files may be made available for "personal downloads" (i.e.
  1293.                   limited to a specific user or security level)    -- yes
  1294.  
  1295.      Archived files in ZIP, ARC, PAK, LZH format may be viewed by
  1296.                   the caller before downloading                    -- yes
  1297.  
  1298.      Can install support for viewing any library format            -- yes
  1299.  
  1300.      Files may be separated into different DOS subdirectories
  1301.                   for callers to download from                     -- yes
  1302.  
  1303.      The software can search 7,000 file descriptions in 60 seconds -- yes
  1304.  
  1305.      Files can be downloaded when searching the list of files      -- yes
  1306.  
  1307.      File can be downloaded when listing the file descriptions     -- yes
  1308.  
  1309.      File listings can be resumed after a download                 -- yes
  1310.  
  1311.      Multiple file downloads/uploads can be requested              -- yes
  1312.  
  1313.      RBBS-PC CPC17-2A                                                Page 27
  1314.  
  1315.      The software supports a "LIBRARY" file subsystem in which:
  1316.         files of the same name are in different DOS subdirectories -- yes
  1317.         files within a single DOS subdirectory can be .ARCed
  1318.                   together into a single file and downloaded       -- yes
  1319.         PC-SIG's CD-ROM can be made available for downloading      -- yes
  1320.  
  1321.      The software allows file transfers with both
  1322.         "Internal" protocols (handled by RBBS-PC source code):
  1323.                   ASCII                                            -- yes
  1324.                   Xmodem (checksum)                                -- yes
  1325.                   Xmodem (cyclical redundancy check)                -- yes
  1326.                   Ymodem                                           -- yes
  1327.         and "External" protocols (i.e. handled by separate .EXE files):
  1328.                   Xmodem (checksum)                                -- yes
  1329.                   Xmodem (cyclical redundancy check)                -- yes
  1330.                   Ymodem                                           -- yes
  1331.                   YmodemG (used when MNP exists in the modem)      -- yes
  1332.                   Imodem (used when MNP exists in the modem)       -- yes
  1333.                   Windowed Xmodem                                  -- yes
  1334.                   Kermit (as defined by Columbia University)       -- yes
  1335.                   Windowed Kermit (as defined by The Source)       -- yes
  1336.                   Zmodem (batch)                                   -- yes
  1337.                   Sealink (by System Enhancements Associates)      -- yes
  1338.                   Megalink                                         -- yes
  1339.  
  1340.      Unlimited number of external protocols can be added           -- yes
  1341.  
  1342.      Uploads can be made unavailable to callers for downloading    -- yes
  1343.  
  1344.      The SYSOP can specify:
  1345.         A caller's minimum security level required to:
  1346.                   download files                                   -- yes
  1347.                   upload files                                     -- yes
  1348.                   overwrite existing files                         -- yes
  1349.                   categorize files                                 -- yes
  1350.                   view uploaded files                              -- yes
  1351.         An upload time credit be applied to a caller's session
  1352.                   time for time spent uploading                    -- yes
  1353.         To apply the upload time credit to the maximum time per day-- yes
  1354.         To automatically track the ratio of uploads/downloads
  1355.                   for all callers                                  -- yes
  1356.                   for no callers                                   -- yes
  1357.                   for each of the 65,000 security levels           -- yes
  1358.         To base the ratio of uploads to downloads on the
  1359.                   number of files transferred                      -- yes
  1360.                   or characters transferred                        -- yes
  1361.         To allow callers access to file downloading based on the
  1362.                   caller's ratio of uploads to downloads           -- yes
  1363.         To allow callers to download files only after they
  1364.                   have been logged on a certain number of
  1365.                   minutes in each session                          -- yes
  1366.  
  1367.      RBBS-PC CPC17-2A                                                Page 28
  1368.  
  1369.      2.4 The User Interface
  1370.      ----------------------
  1371.      The interface shown to the caller allows the SYSOP to:
  1372.         Substitute any letter for any command                      -- yes
  1373.         Disable commands                                           -- yes
  1374.         Restrict specific commands to some security levels         -- yes
  1375.         Only show callers the commands available to them           -- yes
  1376.         Group commands into any sections                           -- yes
  1377.         Specify how callers can move between sections              -- yes
  1378.         Group all commands into a single section                   -- yes
  1379.         Create whatever prompt required to request user commands   -- yes
  1380.         Create any on-line help files                              -- yes
  1381.         Create and design all menus                                -- yes
  1382.         Make commands words (i.e. ENTER to enter a message)        -- yes
  1383.         Make commands single letters (i.e. "E" to enter a message) -- yes
  1384.         Make commands a number (i.e. "1" to enter a message)       -- yes
  1385.         Make commands "macros" (i.e. a series of valid commands)   -- yes
  1386.         Make any item on a menu a "sub-menu" (i.e. selecting the
  1387.                   item displays another menu)                      -- yes
  1388.         Have an unlimited number of submenus                       -- yes
  1389.         Highlight strings found in searches with colors            -- yes
  1390.         Support colored prompts                                    -- yes
  1391.         Allow the prompts to be different colors                   -- yes
  1392.         Allow menus to be ASCII, graphic, or colored/animated      -- yes
  1393.         Provide personalized text files (help, etc.)               -- yes
  1394.  
  1395.      User "friendly" features are that the software
  1396.         Allows callers with unusual names (hyphenated)             -- yes
  1397.         Allows callers with similar names (J. Joe and J. M. Joe)   -- yes
  1398.         Allows the SYSOP to accept callers with the same names
  1399.                   (i.e. two John Jones) and still distinguish
  1400.                   between them by and field in the user record
  1401.                   (e.g. city/state)                                -- yes
  1402.         Allows the prompt for the caller's first and last name
  1403.                   to be configurable by the SYSOP                  -- yes
  1404.         Addresses the caller by the first name                     -- yes
  1405.         Thanks the caller for uploads                              -- yes
  1406.         Thanks the caller for messages                             -- yes
  1407.         Thanks the caller for calling                              -- yes
  1408.         Shows all defaults with [] (i.e. brackets)                 -- yes
  1409.         Allows callers to "see and do" (i.e. not have to back out
  1410.                   of current section or command to do something)   -- yes
  1411.         Allows users to choose "novice" or "expert" modes          -- yes
  1412.         Provides short reminders of the commands in prompts        -- yes
  1413.         Provides on-line help for any command                      -- yes
  1414.         Provide different help levels for "novice" and "experts"   -- yes
  1415.         Allows "command stacking"                                  -- yes
  1416.         Accepts unlimited type ahead from remote users             -- yes
  1417.         Provides a fast logon (directly locates the user's record) -- yes
  1418.         Automatically pages the SYSOP when a specific user logs on -- yes
  1419.         Prevents text from scrolling off the top of a user's screen-- yes
  1420.         Wipes off prompt for next screen when caller continues     -- yes
  1421.         Takes the phone off the hook (so callers get a busy signal)
  1422.                   when the SYSOP is on locally doing maintenance   -- yes
  1423.         Informs the caller who "pages" the SYSOP of the times that
  1424.                   the SYSOP is normally available                  -- yes
  1425.         Automatically logs off a caller who is inactive based on
  1426.                   a time period set by the SYSOP                   -- yes
  1427.         Allows callers to see log of others who called that shows:
  1428.                   Name, date, and time other callers logged on     -- yes
  1429.  
  1430.      RBBS-PC CPC17-2A                                                Page 29
  1431.  
  1432.                   City and state other callers were from           -- yes
  1433.  
  1434.      The software remembers the "preferences" set by the caller for:
  1435.         Preferred file transfer protocol                           -- yes
  1436.         Type of displays to be shown (ASCII, graphic, colors)      -- yes
  1437.         Lines per page (or screen) at the user's terminal          -- yes
  1438.         Margin width when entering messages                        -- yes
  1439.         Upper case only or upper & lower case                      -- yes
  1440.         A prompt bell with each command prompt                     -- yes
  1441.         Padding end of lines with nulls (for hardcopy terminals)   -- yes
  1442.         Sending a line feed after every line                       -- yes
  1443.         End-to-end echoing of characters (normally turned off by
  1444.                   a caller using networks that have relay delays
  1445.                   like PC-Pursuit)                                 -- yes
  1446.         "TurboKey" - acting on first letter entered at prompt      -- yes
  1447.         Reviewing files immediately upon logging on                -- yes
  1448.  
  1449.      RBBS-PC CPC17-2A                                                Page 30
  1450.  
  1451.      2.5 SYSOP Protection
  1452.      --------------------
  1453.      Because a SYSOP is absolutely and personally responsible for what is
  1454.      communicated, the software protects the SYSOP by:
  1455.         Recording all caller activity by caller, date, and time    -- yes
  1456.         Recording all communication among callers                  -- yes
  1457.         Allowing the SYSOP to preview messages between callers     -- yes
  1458.         Allowing the SYSOP to preview files that are uploaded
  1459.                   before they are available to other callers       -- yes
  1460.         Automatically locking out callers who attempt to break
  1461.                   the system                                       -- yes
  1462.         Automatically denying access to callers who use names
  1463.                   that the SYSOP deems unacceptable                -- yes
  1464.         Allowing the SYSOP to "chat" directly on-line with
  1465.                   a caller                                         -- yes
  1466.         Preventing callers from chatting directly on-line
  1467.                   with each other outside of the SYSOP's control   -- yes
  1468.         Assigning each caller a specific security levels           -- yes
  1469.         Designating the minimum security level to use each command -- yes
  1470.         Allowing the SYSOP to assign security levels to commands   -- yes
  1471.         Allowing the SYSOP to assign security levels to callers    -- yes
  1472.         Allowing the SYSOP to change any caller's security level   -- yes
  1473.         Allowing the SYSOP to assign a security levels to files
  1474.                    or groups of files that a caller must have in
  1475.                    order to access them                            -- yes
  1476.         Allowing the SYSOP to require callers to know specific
  1477.                    passwords to access files or groups of files    -- yes
  1478.         Allowing the SYSOP to require callers to have BOTH a
  1479.                    specific security level AND know a specific
  1480.                    password in order to access a file or a
  1481.                    group of files                                  -- yes
  1482.         Allowing files to be protected (by requiring a password
  1483.                    and/or a minimum security level to access) based
  1484.                    on any combination of
  1485.                    subdirectory,                                   -- yes
  1486.                    disk drive,                                     -- yes
  1487.                    fully qualified names,                          -- yes
  1488.                    file extensions,                                -- yes
  1489.                    "wildcards"                                     -- yes
  1490.         Allowing "personal" files (i.e. files that only a specific
  1491.                    caller can access                               -- yes
  1492.         Allowing each command to have a specific security level
  1493.                   that designates the minimum security level
  1494.                   needed to use the command                        -- yes
  1495.         Automatically paging the SYSOP when a specific caller
  1496.                   logs on (without the caller knowing it)          -- yes
  1497.         Instantaneously allowing the SYSOP to lock out and
  1498.                   immediately disconnect an on-line caller         -- yes
  1499.         Enabling the SYSOP to display the on-line caller's
  1500.                   profile (i.e. all the information about the
  1501.                   caller) anytime a caller is on-line without
  1502.                   the caller being aware of it                     -- yes
  1503.  
  1504.      RBBS-PC CPC17-2A                                                Page 31
  1505.  
  1506.      2.6 SYSOP Functions, Features, and Support
  1507.      ------------------------------------------
  1508.      The software can be set to automatically drop to DOS at a
  1509.         specific time of day (i.e. to do system maintenance, etc.) -- yes
  1510.  
  1511.      The software can support and interface with store-and-forward
  1512.         electronic mail systems (i.e. FIDO, BINKLEY TERM, SEADOG)  -- yes
  1513.  
  1514.      From the local keyboard's function keys, the software allows
  1515.      the SYSOP to:
  1516.         Exit to DOS                                                -- yes
  1517.         Toggle on or off if callers can "page" the SYSOP           -- yes
  1518.         Toggle the local print on and off                          -- yes
  1519.         Log on locally to the system without calling in            -- yes
  1520.         Cause the system to immediately answer the phone           -- yes
  1521.         Enter input from the local keyboard on the caller's behalf -- yes
  1522.         Grant a caller temporary SYSOP privileges                  -- yes
  1523.         Temporarily increase or decrease a caller's security level
  1524.                   in increments of one or five                     -- yes
  1525.         Permanently change a caller's security level               -- yes
  1526.         Temporarily change the elapsed time of the current
  1527.                   caller's session by one or five minutes          -- yes
  1528.         Display on the local screen what the caller sees           -- yes
  1529.         Invite the caller to "chat" with the SYSOP                 -- yes
  1530.         Immediately lock out and log off the caller                -- yes
  1531.         Automatically log the SYSOP on next after current caller   -- yes
  1532.  
  1533.      The commands a SYSOP can execute locally or remotely are:
  1534.         Exit to DOS                                                -- yes
  1535.         Toggle on or off if callers can "page" the SYSOP           -- yes
  1536.         List the comments that have been left to the SYSOP         -- yes
  1537.         List the log of the caller's activities that shows
  1538.                   Name, date, and time a caller logged on          -- yes
  1539.                   City and state the caller was from               -- yes
  1540.                   Date and time a caller logged off                -- yes
  1541.                   If the caller was logged off due to inactivity   -- yes
  1542.                   If the caller was logged off due to carrier lost -- yes
  1543.                   Baud rate and communications parity caller used  -- yes
  1544.                   Files downloaded and uploaded                    -- yes
  1545.                   Success or failure of file transfers             -- yes
  1546.                   Protocol used for file transfers                 -- yes
  1547.                   Number of characters transferred                 -- yes
  1548.                   Which bulletins a caller read                    -- yes
  1549.                   Which conferences a caller entered               -- yes
  1550.                   Which messages a caller read                     -- yes
  1551.                   Which messages a caller left                     -- yes
  1552.                   Which messages a caller killed (i.e. deleted)    -- yes
  1553.                   If the caller left a comment                     -- yes
  1554.                   If the phone was answered but nobody logged on   -- yes
  1555.                   Caller was a newuser                             -- yes
  1556.                   A newuser changed their name/address             -- yes
  1557.                   If caller changed password (and to what)         -- yes
  1558.                   Questionnaire answered by the caller             -- yes
  1559.  
  1560.         Restore a message that was killed (i.e. deleted)           -- yes
  1561.         Erase the comments file                                    -- yes
  1562.         Maintain the file of users by:
  1563.                   Adding a user                                    -- yes
  1564.                   Listing the file of users                        -- yes
  1565.                   Printing the file of users on a local printer    -- yes
  1566.  
  1567.      RBBS-PC CPC17-2A                                                Page 32
  1568.  
  1569.                   Deleting a specific user's record                -- yes
  1570.                   Scanning every user record for a specific string -- yes
  1571.                   Scanning every user record for a specific user   -- yes
  1572.                   Modifying a specific user's password             -- yes
  1573.                   Modifying a specific user's graphics preference  -- yes
  1574.                   Setting a specific user's security level         -- yes
  1575.                   Changing the beginning of a user's subscription  -- yes
  1576.  
  1577.      A SYSOP can identify callers by:
  1578.         Any field in the user's record (i.e. account code)         -- yes
  1579.         Supplying a configurable prompt for the field used to
  1580.                   uniquely identify callers (i.e. employee number) -- yes
  1581.         Allow interior blanks in caller's names                    -- yes
  1582.  
  1583.      A SYSOP can have on-line questionnaires that
  1584.         All users are required to answer                           -- yes
  1585.         Only new users are required to answer                      -- yes
  1586.         Are unlimited in number                                    -- yes
  1587.         Contain an unlimited number of questions within each       -- yes
  1588.         Record all answers to a different file                     -- yes
  1589.         Automatically raise or lower a caller's security level
  1590.                   based on the caller's answers                    -- yes
  1591.  
  1592.      The software supports file sharing (i.e. updating) in the
  1593.      networks such as:
  1594.         MultiLink (Version 4.0 and earlier) from the Software Link -- yes
  1595.         OMNINET from Corvus                                        -- yes
  1596.         PC-NET from Orchid                                         -- yes
  1597.         DESQview from Quarterdeck                                  -- yes
  1598.         10NET from Fox Research                                    -- yes
  1599.         any environment compatible with NETBIOS from IBM           -- yes
  1600.  
  1601.      In a DoubleDOS environment, the software minimizes its
  1602.         resource demand while waiting for work in order to free
  1603.         as much power for other applications that are running      -- yes
  1604.  
  1605.      RBBS-PC CPC17-2A                                                Page 33
  1606.  
  1607.      2.7 System Access Management
  1608.      ----------------------------
  1609.      The SYSOP can specify:
  1610.         A maximum time per session for callers                     -- yes
  1611.         A maximum time per day for callers                         -- yes
  1612.         A different session time be allowed for each of the
  1613.                   65,000 different security levels                 -- yes
  1614.         A different maximum time allowed callers on the system
  1615.                   each day based on the caller's security level    -- yes
  1616.         A minimum baud rate for new callers to logon with          -- yes
  1617.         A different minimum baud rate for existing callers to logon-- yes
  1618.         A different maximum time per session based on time of day
  1619.                   (hour and minute) the user logged                -- yes
  1620.         A maximum time per day that is different from the maximum
  1621.                   time per session                                 -- yes
  1622.         To allow callers access to other applications (i.e.
  1623.                   doors) only after they have been logged on a
  1624.                   certain number of minutes in each session        -- yes
  1625.         To allow all callers access to the entire system (open)    -- yes
  1626.         To allow only pre-registered calls access to the entire
  1627.                   system (closed)                                  -- yes
  1628.         To allow automatic and instant access to the system for
  1629.                   for new users without pre-registering them
  1630.                   based on information pre-loaded into the system
  1631.                   (i.e. account codes, employee numbers, etc.) and
  1632.                   issued to callers before they access the system  -- yes
  1633.  
  1634.      The software provides an optional subscription management system that:
  1635.         Is built-in                                                -- yes
  1636.         Is automatic (i.e. requires minimum SYSOP effort)          -- yes
  1637.         Is optional                                                -- yes
  1638.         Bases the subscriptions on the date of the caller's
  1639.                   first access to the system                       -- yes
  1640.         Subscribers are given temporary, date-limited, "trial
  1641.                   periods" that allow them to access more features -- yes
  1642.         The number of days prior to a caller being warned that the
  1643.                   subscription expires can be SYSOP-specified by   -- yes
  1644.         Automatically warns subscribers before their sub-
  1645.                   scriptions expire                                -- yes
  1646.         Automatically reduces the subscribers system security
  1647.                   level upon subscription expiration               -- yes
  1648.  
  1649.      RBBS-PC CPC17-2A                                                Page 34
  1650.  
  1651.      2.8 Communications
  1652.      ------------------
  1653.      The software will automatically
  1654.         answer the phone and adjust to a caller's
  1655.                   communications settings                          -- yes
  1656.         allow the modem to adjust to the caller's communications
  1657.                   settings while maintaining a higher data
  1658.                   transfer rate (19200 baud) between itself and
  1659.                   the modem to which it is attached                -- yes
  1660.         recognize a caller who calls at:
  1661.                     300 baud                                       -- yes
  1662.                    1200 baud                                       -- yes
  1663.                    2400 baud                                       -- yes
  1664.                    4800 baud                                       -- yes
  1665.                    9600 baud                                       -- yes
  1666.                   19200 baud                                       -- yes
  1667.         recognize the MNP (automatic error correction) protocols
  1668.                   built into the modem it is attached to           -- yes
  1669.         recognize Hayes' pseudo LAP-B (automatic error correction)
  1670.                   protocol if the modem it is attached Hayes is a
  1671.                   Hayes modem with such protocol                   -- yes
  1672.         recycle if no calls are received in a specified period     -- yes
  1673.         switch to N/8/1 for binary file transfers without
  1674.                   disconnecting the user                           -- yes
  1675.  
  1676.      The software will allow a 300 baud caller to shift to
  1677.         450 baud while on-line without disconnecting               -- yes
  1678.  
  1679.      The software supports modems that do not handle modem
  1680.          commands but which can automatically answer the phone     -- yes
  1681.  
  1682.      The software handles "flow control" via:
  1683.          Clear-to-send (CTS)                                       -- yes
  1684.          XON/XOFF                                                  -- yes
  1685.  
  1686.      The software supports attachment directly to
  1687.         a private branch exchange (PBX)                            -- yes
  1688.         a public data network via an X.25 PAD                      -- yes
  1689.  
  1690.      The software has optional, configurable modem commands to:
  1691.         initialize the modem's firmware                            -- yes
  1692.         initialize the modem each time the software recycles       -- yes
  1693.         set up the modem to answer the phone on each recycle       -- yes
  1694.         set the number of rings to answer the phone                -- yes
  1695.         answer the phone                                           -- yes
  1696.         take the phone off the hook                                -- yes
  1697.  
  1698.      The software can be configured to wait a specified number of
  1699.         seconds:
  1700.                   after initializing the modem on recycling        -- yes
  1701.                   wait after issuing a modem command               -- yes
  1702.                   before logging off an idle caller                -- yes
  1703.                   after answering the phone for a carrier          -- yes
  1704.  
  1705.      The SYSOP can set the number of rings the software answers on -- yes
  1706.  
  1707.      The software can be set to wait to issue modem commands
  1708.         when the phone is not ringing                              -- yes
  1709.  
  1710.      The software can utilize external communications drivers
  1711.  
  1712.      RBBS-PC CPC17-2A                                                Page 35
  1713.  
  1714.         (for communications ports not supported by BASIC)          -- yes
  1715.  
  1716.      RBBS-PC CPC17-2A                                                Page 36
  1717.  
  1718.      2.9 "Base-Line" Hardware and Software Requirements
  1719.      --------------------------------------------------
  1720.      RBBS-PC  is designed to  run on an IBM  Personal  Computer   running  IBM's
  1721.      Disk  Operating  System (DOS),    communicating  via an  IBM   Asynchronous
  1722.      Communications  Adapter  and a  Hayes  Smartmodem  modem.    The  following
  1723.      equipment and software is the MINIMUM and the recommended configuration for
  1724.      running RBBS-PC:
  1725.                             Minimum                     Recommended
  1726.      System:           IBM PC (Intel 8088 CPU)  Any PC with an Intel 8088 CPU
  1727.                                                 that can run IBM's PC-DOS
  1728.      Monitor:          80 column monochrome     80 column color monitor
  1729.      Asynchronous
  1730.      Communications
  1731.      Adapter:          RS-232 adapter with an   IBM Asynchronous communications
  1732.                        Intel 8250 CPU           adapter (serial port),
  1733.  
  1734.      Modem:            Any Hayes 1200 Smart-    U.S. Robotics 9600 baud 
  1735.                        modem (or 100% Hayes     Courier HST
  1736.                        compatible!)
  1737.  
  1738.      Telephone Line:   Voice grade telephone    Voice grade telephone
  1739.                        connection  for  modem   connection for modem 
  1740.  
  1741.      Modem Cable:      25 pin RS-232 modem      25 pin RS-232 modem
  1742.                        cable (for external      cable (for external 
  1743.                        modem)                   modem)
  1744.  
  1745.      RAM:              320K RAM available for   640K RAM available for
  1746.                        DOS and RBBS-PC          DOS and RBBS-PC
  1747.  
  1748.      Disk:             one double-sided drive   one high-density drive
  1749.                        (360K)                   (1.2 or 1.44 MB) and one
  1750.                                                 hard disk with at least 20MB
  1751.  
  1752.      Operating System: MS-DOS/PC-DOS 2.0        PC-DOS 3.1 (or greater)
  1753.  
  1754.      The  .EXE files are  distributed with RBBS-PC  as well as  the BASIC source
  1755.      code so  it  is not  necessary to  have a  BASIC Compiler  to run  RBBS-PC.
  1756.      However, for those who would like  to compile RBBS-PC from the source  code
  1757.      the recommended compiler is Microsoft's QuickBASIC 3.0.
  1758.  
  1759.      The  MINIMUM configuration that RBBS-PC can be run  in is on an IBM PC that
  1760.      has 320K of random access memory (RAM), one double-sided disk drive, an RS-
  1761.      232  communications  port with  a  Hayes modem  and  IBM's PC  DOS  2.0 (or
  1762.      higher).   To  run in  320K it  is necessary  to recompile  RBBS-PC  -- see
  1763.      Appendix Y.    As with  ANY  bulletin board  system,  the less  disk  space
  1764.      available the  more file maintenance the SYSOP must do.  Also if you choose
  1765.      to allow external file protocol transfers, an additional 192K  of memory is
  1766.      required if you SHELL to them rather than EXIT.
  1767.  
  1768.      Beginning with  RBBS-PC version CPC13-1A,  RBBS-PC requires version  2.0 or
  1769.      above of IBM's Disk Operating System (DOS).  RBBS-PC will not run under the
  1770.      BASIC interpreter.    RBBS-PC runs  under  MS-DOS to  the extent  that  the
  1771.      executable code generated by the IBM/Microsoft BASIC compiler is compatible
  1772.      with the  multitude of  different MS-DOS'.   Do not  expect RBBS-PC  to run
  1773.      under every variant of DOS on every IBM compatible.
  1774.  
  1775.      If  you  have  a  second telephone installed specifically  for RBBS-PC, ask
  1776.      for  a second voice  grade  telephone line.  Data  lines are very expensive
  1777.      and  are  not  necessary.   The    program  requires  the  use  of a  Hayes
  1778.  
  1779.      RBBS-PC CPC17-2A                                                Page 37
  1780.  
  1781.      Smartmodem  (or one that  is 100% Hayes  compatible) in order  to  function
  1782.      properly.  If your non-Hayes modem  doesn't work with RBBS-PC, send RBBS-PC
  1783.      (source code and all) to the  vendor and ask him to explain why  it doesn't
  1784.      work (i.e. why it is "incompatible" with the Hayes Smartmodem). 
  1785.  
  1786.      Callers who come in at even parity and 7 data bits,  then try to change  to
  1787.      no  parity  and   8 data bits  to use XMODEM, may have  a problem if   they
  1788.      are  using PC-TALK and a Hayes Smartmodem.   Switch 1 on the caller's modem
  1789.      has  to be down (the  factory  default   position)  or  the carrier will be
  1790.      dropped when  the  communication  parameters  are  switched.  To avoid this
  1791.      the PC-TALK caller will   have  to  enter the  escape code (factory setting
  1792.      "+++"),  reset  the modem  parameters  with   Alt-P and/or Alt-F,  and then
  1793.      return to the "connect"  state with  the  command   "ATO." Callers who wish
  1794.      to communicate at  450 baud have to call in  at   300  baud  then switch to
  1795.      450 using the N)ew baud  selection  from  the  "Utilities" menu.
  1796.  
  1797.      RBBS-PC CPC17-2A                                                Page 38
  1798.  
  1799.      3. RBBS-PC's SUPPORT POLICIES
  1800.      -----------------------------
  1801.      3.1 RBBS-PC's Vendor Support Policy
  1802.      -----------------------------------
  1803.      The  only reason RBBS-PC is "hardware-specific" to the IBM PC and the Hayes
  1804.      Smartmodem is that  these have pretty much set an industry standard  (let's
  1805.      not  debate  the   issue  of whether they have  also  set   a  "technology"
  1806.      standard).  If you follow the code in RBBS-PC closely, you will notice that
  1807.      a great deal of effort was expended in order not to be "hardware-dependent"
  1808.      on either the Hayes or the IBM PC.
  1809.  
  1810.      The   purposes  of RBBS-PC  are  outlined in  section  1   of  the  RBBS-PC
  1811.      documentation.  Those   who  contribute  to  RBBS-PC do so without any hope
  1812.      of monetary   reward.    In  fact, great lengths  are taken to  assure that
  1813.      neither those  involved with the  development of  RBBS-PC nor  anyone   who
  1814.      distributes  RBBS-PC  does so for  either personal  gain or to  promote   a
  1815.      specific product at the expense of other products.
  1816.  
  1817.      If  the hardware you are using is not part of the "base-line" hardware  and
  1818.      RBBS-PC  doesn't  work,  your only recourse is to either modify RBBS-PC  to
  1819.      meet  your  particular  hardware's needs (that's why  the  source  code  is
  1820.      distributed)  or  contact  your vendor and ask him to fix his  hardware  or
  1821.      modify RBBS-PC (via .MRG/.DOC files) to support his hardware.
  1822.  
  1823.      Since 1984 RBBS-PC  became something  of an "industry standard."    As such
  1824.      several  manufacturers have  requested that support  for their   particular
  1825.      hardware  and/or software be incorporated into RBBS-PC.  These vendors have
  1826.      had three choices:
  1827.  
  1828.      1.  Obtain a copy of the BASIC source code by sending $8  to the Capital PC
  1829.      User Group's  Software  Exchange.   The source  code allows  the vendor  to
  1830.      determine what is  required to  be "RBBS-PC compatible."  Who better  knows
  1831.      the   quirks    of   the   manufacturer's   product than  the manufacturer?
  1832.      RBBS-PC's limited license specifically permits the  distribution of  ".MRG"
  1833.      files  that would allow RBBS-PC to run with  whatever idiomatic  quirks   a
  1834.      specific vendor's product exhibited.  The  advantage to the manufacturer is
  1835.      that he is in complete control and need not make the .MRG "universal" (i.e.
  1836.      it need only support  his product).  The disadvantage is  that new releases
  1837.      of RBBS-PC come out every six to  eight months and the vendor would have to
  1838.      review each release to  make sure the new releases and  his .MRG files were
  1839.      compatible.    Of  course,  as  with  any other  RBBS-PC  operator,  casual
  1840.      telephone support is available to these vendors.
  1841.  
  1842.      2.   Supply the necessary equipment or software on  a loan or gift basis to
  1843.      be  used in the testing  of future releases of  RBBS-PC.  This approach has
  1844.      been actively DISCOURAGED for three fundamental reasons.
  1845.  
  1846.        1)  The vendor  perceives he has "paid" for on-going  support by the loan
  1847.      or donation  of  the product.    This is  not  the case  because  RBBS-PC's
  1848.      development is an  all-volunteer activity.  As  such, neither I nor  any of
  1849.      the others involved with the development  of RBBS-PC may have the time  nor
  1850.      expertise  sufficient  to  assure compatibility  of  the  specific vendor's
  1851.      product with future releases of RBBS-PC.   About all that can be done is to
  1852.      give the vendor our "best effort" to assure compatibility, and  advise when
  1853.      it can not be made compatible.
  1854.  
  1855.        2)   The particular  product may  not have  a universal  applicability to
  1856.      RBBS-PC  users and  (or) may  not  be of  interest to  those  who regularly
  1857.      contribute to the development  of RBBS-PC.   Both of  these conditions must
  1858.      exist  before  any  vendor's  product  is  incorporated  into  the  RBBS-PC
  1859.  
  1860.      RBBS-PC CPC17-2A                                                Page 39
  1861.  
  1862.      development cycle.
  1863.  
  1864.        3)   The price of  the loaned or  donated products (usually  3 to 5  such
  1865.      products) in no way can  even begin to compensate for the  hundreds (if not
  1866.      thousands) of development  hours required to support other than "base-line"
  1867.      hardware. 
  1868.  
  1869.      3.  Establish an  on-going institutional commitment to maintain  a dialogue
  1870.      between  the vendor's  engineering group  and the RBBS-PC  development team
  1871.      along with supplying the necessary equipment or software on a loan  or gift
  1872.      basis to  be used  in the  testing of  future releases  of  RBBS-PC.   This
  1873.      approach  has been actively ENCOURAGED for  three different and fundamental
  1874.      reasons.
  1875.  
  1876.        1)    The vendor  overtly makes  an  institutional commitment  to jointly
  1877.      participate in the development of RBBS-PC.  The vendor has the  opportunity
  1878.      to supplement  the all-volunteer  activity that  is the  basis for  RBBS-PC
  1879.      development by choosing to  either modify their current or  future products
  1880.      to  be  compatible  with  RBBS-PC  or   to  supply  software  that  ensures
  1881.      compatibility with RBBS-PC.  This benefits all RBBS-PC users.
  1882.  
  1883.        2)  The particular products that fall into this category are  required to
  1884.      have a universal  applicability to RBBS-PC  users (i.e. multi-tasking  DOS,
  1885.      networking, 2400 or  greater baud capability, error-free  protocols, etc.).
  1886.      Also a regular contributor to RBBS-PC's development  must be geographically
  1887.      located close  to the  vendor's development  engineers to  assure a  timely
  1888.      dialogue.  Further  any regular contributor  to RBBS- PC's development  who
  1889.      accepts  the responsibility  for assuring  RBBS-PC's  compatibility with  a
  1890.      particular vendor's product must be willing to  do so solely on a volunteer
  1891.      basis over an  extended period of time and in such  a way as not to exclude
  1892.      other vendor's  products.   Only  when all  these conditions  exist is  any
  1893.      vendor's   product  a  candidate  to   be  incorporated  into  the  RBBS-PC
  1894.      development  cycle.   This assures  that the RBBS-PC  user community  has a
  1895.      feed-back  mechanism to the  vendor's product development  and design teams
  1896.      and  the vendor  is assured  of a  matching long-term  commitment from  the
  1897.      RBBS-PC development team.
  1898.  
  1899.        3)   The  vendor recognizes  that the   price  of the  loaned or  donated
  1900.      products (usually  3 to  5 such  products) is minuscule  compared with  the
  1901.      hundreds (if not  thousands) of man-hours that  may be required   from both
  1902.      the  RBBS-PC development  team as  well as  the vendor's  engineers.   This
  1903.      assures  that the vendors  who choose this third  approach are committed to
  1904.      the PC user community.  It is precisely  this type of commitment that RBBS-
  1905.      PC's  USERWARE  concept  is designed  to  encourage  (from  both users  and
  1906.      vendors)
  1907.  
  1908.      Vendors who have  chosen to make this  third type of commitment  to RBBS-PC
  1909.      and the PC user community deserve the respect and encouragement of every PC
  1910.      user and are (alphabetically):
  1911.  
  1912.          Ark Electronic Products, Inc.
  1913.          325 W. Hibiscus Blvd.
  1914.          Melbourne, Florida  32901
  1915.          (305) 724-5260 
  1916.  
  1917.          Corvus Systems, Inc.
  1918.          2100 Corvus Drive
  1919.          San Jose, California 95124
  1920.          (408) 559-7000
  1921.  
  1922.      RBBS-PC CPC17-2A                                                Page 40
  1923.  
  1924.          The Forbin Project (c/o John Friel III)
  1925.          4945 Colfax Avenue South
  1926.          Minneapolis, MN 55409
  1927.  
  1928.          Hayes Microcomputer Products, Inc.
  1929.          5923 Peachtree Industrial Blvd.
  1930.          Norcross, Georgia  30092
  1931.          (404) 449-8791
  1932.  
  1933.          International Business Machines Corporation
  1934.          (Internal Zip Code 2900)
  1935.          P.O. Box 1328
  1936.          Boca Raton, Florida  33432
  1937.          (305) 998-2000
  1938.  
  1939.          Microcom, Inc.
  1940.          1400A Providence Highway
  1941.          Norwood, MA  02062
  1942.          (617) 762-9310
  1943.  
  1944.          Multi-Tech Systems, Inc.
  1945.          82 Second Avenue, S.E.
  1946.          New Brighton, Minnesota  55112
  1947.          (612) 631-3550
  1948.  
  1949.          Orchid Technology
  1950.          4790 Westinghouse Drive
  1951.          Fremont, CA 94539
  1952.          (415) 490-8586
  1953.          PC-SIG
  1954.          1030 E. Duane Ave Suite D
  1955.          Sunnyvale, CA 94086
  1956.          (408) 730-9291
  1957.  
  1958.          Prometheus Products Incorporated
  1959.          4545 Cushing Parkway
  1960.          Fremont, CA  94538
  1961.          (415) 490-2370
  1962.  
  1963.          Quarterdeck Office Systems
  1964.          150 Pico Blvd.
  1965.          Santa Monica, CA 90405
  1966.          (213) 392-9701
  1967.         
  1968.          Racal-Vadic
  1969.          1525 McCarthy Blvd.
  1970.          Milpitas, California 95035
  1971.          (408) 774-0810
  1972.  
  1973.          The Software Link, Inc.
  1974.          8601 Dunwoody Place
  1975.          Suite 336
  1976.          Atlanta, GA  30338
  1977.          (404) 998-0700
  1978.  
  1979.          The Source
  1980.          1616 Anderson Road
  1981.          McLean, Virginia  22102
  1982.          (703) 734-7500
  1983.  
  1984.      RBBS-PC CPC17-2A                                                Page 41
  1985.  
  1986.          System Enhancement Associates
  1987.          21 New Street
  1988.          Wayne, NJ 07470
  1989.          (201) 473-5153
  1990.  
  1991.          U.S. Robotics, Inc.
  1992.          Skokie, Illinois 60076
  1993.          (312) 982-5010
  1994.  
  1995.      Users who  feel that they have benefited  or who appreciate such commitment
  1996.      to the user community  should write or call the above vendors and tell them
  1997.      so,  especially  if such  a  commitment  influenced the  purchase  of their
  1998.      products.   Similarly, if  any user feels  that other vendor  should make a
  1999.      similar commitment to RBBS-PC and the user  community, write to that vendor
  2000.      and send a copy of your letter to the following address:
  2001.  
  2002.                          D. Thomas Mack
  2003.                              39 Cranbury Drive
  2004.                              Trumbull, Conneticut 06611
  2005.  
  2006.      Section  21 describes the RBBS-PC standard  interface for protocol drivers.
  2007.      All vendors  of proprietary protocols who would like  to have them added to
  2008.      future releases of RBBS-PC need do is simply conform to this interface.  
  2009.  
  2010.      RBBS-PC CPC17-2A                                                Page 42
  2011.  
  2012.      3.2 RBBS-PC's User Support Policy
  2013.      ---------------------------------
  2014.      RBBS-PC is an all-volunteer effort on  my part.  Professionally I am not  a
  2015.      programmer (as anyone who has looked at the source code can testify) nor an
  2016.      "expert/guru" on personal computers.  Since I am not independently wealthy,
  2017.      I have a full time job (unrelated to PC's).  As with most other  folks, I'm
  2018.      also  busy raising  a  family.   What time  I  can spare  from  these other
  2019.      activities I  am glad  to donate  to answer  questions about  RBBS-PC as  I
  2020.      believe (somewhat fanatically) in the Userware concept.
  2021.  
  2022.      However, if you  have questions regarding  something other than the  "base-
  2023.      line" hardware  and software requirements  outlined in  section 2.9,  DON'T
  2024.      CALL ME.  I  probably can't help you anyway  and even if I do  venture some
  2025.      advice it  will probably  be wrong.   One of the  axioms of  the "Userware"
  2026.      concept is that every user should be able to help themselves  -- that's why
  2027.      there are more than two hundred pages of documentation and the  source code
  2028.      is freely distributed (under a limited license and copyrighted).
  2029.  
  2030.      The only calls that I truly appreciate are those that reveal BOTH a problem
  2031.      and a solution.   These I am more than  happy to share with anyone  and are
  2032.      included in RBBS-PC  (either the documentation,  the software, or both)  as
  2033.      rapidly as possible. Of course, if you encounter a problem and
  2034.  
  2035.           1.  read and re-read the documentation,      
  2036.           2.  spend days and days attempting to isolate it,
  2037.           3.  called other SYSOPs and asked their help,
  2038.           4.  looked up any  error messages you encountered (they are in the    
  2039.               BASIC manual that comes with your IBM PC's DOS),
  2040.           5.  know what version of RBBS-PC that you are running,
  2041.           6.  know what version of CONFIG that you are running,
  2042.           7.  eliminated all other software from your environment,
  2043.  
  2044.      and still  can not get  RBBS-PC to work, I  am most happy  to lend whatever
  2045.      telephone advice I can.
  2046.  
  2047.      RBBS-PC'S Technical Support phone number is (203) 268-9656.  If you get the
  2048.      answering machine please leave your name and phone number where you  can be
  2049.      reached in the evenings.  (Do not leave  Data numbers, Voice only  please!)
  2050.      Someone will  return your  call (COLLECT)  to try  and help  you with  your
  2051.      problem.
  2052.  
  2053.      In this regard, it  may help to remember that  there are only two types  of
  2054.      problems -- MY  problems (which are  the ones that I  can solve) and  OTHER
  2055.      PEOPLE's problems (which are the ones that I can't solve).
  2056.  
  2057.      RBBS-PC CPC17-2A                                                Page 43
  2058.  
  2059.      4. HOW TO GET A COPY OF RBBS-PC SENT TO YOU
  2060.      -------------------------------------------
  2061.      RBBS-PC  can be obtained by sending a  check  for  $8 to the
  2062.  
  2063.                     Capital PC Software Exchange
  2064.                     P.O. Box 6128
  2065.                     Silver Spring MD 20906.
  2066.  
  2067.      RBBS-PC is distributed on two double-sided, 9-sector, diskettes. Allow 3 to
  2068.      4 weeks for delivery -- remember this is an all-volunteer effort.   Be sure
  2069.      to  specify RBBS-PC CPC17-2A  on "diskette #  18".   If you would  like the
  2070.      RBBS-PC source code and some utilities that other SYSOPs have found useful,
  2071.      send a second $8 with your order and ask for "diskette #18S."
  2072.  
  2073.      Version CPC17-2A of  RBBS-PC's .EXE file  is distributed after having  been
  2074.      compiled  with  QuickBASIC Version  3.00 compiler  that  had the  DTR patch
  2075.      described in Appendix T applied to it. 
  2076.  
  2077.      The  exigencies  of  RBBS-PC software releases may mean  that  diskette  18
  2078.      contains  an  earlier version of RBBS-PC than CPC17-2A (either  you  bought
  2079.      diskette 18  sometime ago or there has been not enough time for diskette 18
  2080.      to  be updated to this most current version).   Not to fear!    Your $8 has
  2081.      not  been  wasted.   At least  three bulletin boards keep  the most current
  2082.      copies of  RBBS-PC for downloading.  They are: 
  2083.  
  2084.      (203) 268-5315 --+
  2085.                       +---- East Coast (Trumbull, Conneticut), 
  2086.      (203) 268-0129 --+
  2087.  
  2088.      (703) 978-6360 ------- East Coast (Fairfax, Virginia),
  2089.  
  2090.      (415) 689-2090 ------- West Coast (Concord, California).
  2091.  
  2092.      RBBS-PC CPC17-2A                                                Page 44
  2093.  
  2094.      5. FILES RBBS-PC USES
  2095.      ---------------------
  2096.      There are essentially  two types of files that RBBS-PC uses -- "system" and
  2097.      "text" files.   "System" files  are defined  as random  files that  RBBS-PC
  2098.      reads  and  writes to.   "Text"  files  are defined  as files  that RBBS-PC
  2099.      primarily reads from.   Text files can be edited externally to RBBS-PC with
  2100.      most text editors that can handle ASCII  files. Either type of file can  be
  2101.      "static" or "variable" in length.  By "static" it is meant that these files
  2102.      have  a  pre-defined length  beyond  which  RBBS-PC does  not  extend them.
  2103.      Similarly, "variable" length files are defined  as those files whose length
  2104.      is dynamically increased  by RBBS-PC.   In a  multiple RBBS-PC  environment
  2105.      only the "static" length files can be shared SAFELY among the various RBBS-
  2106.      PC's.  The following table summarizes this using the default file names:
  2107.  
  2108.              "Static" Length Files       "Variable" Length Files
  2109.  
  2110.        -----
  2111.         /|\    MESSAGES                   CALLERS             ARCWORKx.DEF
  2112.          |     USERS                      COMMENTS            NODExWRK
  2113.        System  MESSAGES.BAK               upload disk         RBBSxF1.DEF
  2114.        Files   USERS.BAK                  DKxxxx.ARC          DORINFOx.DEF
  2115.          |     RBBSxPC.DEF                upload disk
  2116.         \|/                               99.DIR (upload directory)
  2117.        -----
  2118.  
  2119.      The following "text files" are "static" in length and can be shared safely:
  2120.  
  2121.        -----   NEWUSER                           RBBS-CDR.DEF
  2122.         /|\    MENU0 --> MENUA                   LGx.DEF
  2123.          |     BULLET, BULLET1 --> BULLETn       AUTOPAGE.DEF
  2124.          |     DIR.DIR, aa.DIR --> bb.DIR        CONFMAIL.DEF
  2125.          |     CDR.CDR, aa.CDR --> bb.CDR        RBBS-CDR.DEF
  2126.        Text    FILESEC                           PROTO.DEF
  2127.        Files   CONFENCE                          RBBS-REG.DEF
  2128.          |     xxxx.PUI                          PRELOG.DEF
  2129.          |     PASSWRDS                          EPILOG.DEF
  2130.          |     xx.HLP                            PRIVATE.DEF
  2131.          |     HELPxx                            AUTOPAGE.DEF
  2132.         \|/    TRASHCAN                          RBBSxTM.DEF
  2133.        -----   WELCOME
  2134.  
  2135.      In a CORVUS  network environment any of   the "static" length files  can be
  2136.      shared on a common  volume and ALL of  the "variable" length files  must be
  2137.      segregated on volumes unique  to each copy of RBBS-PC.   RBBS-PC issues the
  2138.      NAME function  of BASIC in order to determine if a file exists.  Because of
  2139.      this, all the volumes accessed by any  RBBS-PC in a CORVUS network must  be
  2140.      designated "read/write." Therefore, you  must be very careful  when running
  2141.      CONFIG.BAS.  CONFIG creates the definition file (RBBSxPC.DEF) for each copy
  2142.      of RBBS-PC.
  2143.  
  2144.      In  a MultiLink (from the Software Link,  Inc.) environment and in Orchid's
  2145.      PC-NET environment the vendors claim that  not only all the "static" length
  2146.      files can  be shared  on a common  volume but also  some of  the "variable"
  2147.      length  files can be shared. However, if you  want to be as conservative as
  2148.      possible, run  RBBS-PC in  ALL environments  as if  it where  running in  a
  2149.      CORVUS network environment.  However, if you rely on the vendors claims, in
  2150.      either a  MultiLink or PC-NET  environment, when  running CONFIG.BAS  which
  2151.      creates the definition  file (RBBSxPC.DEF)  for each copy  of RBBS-PC,  you
  2152.      must be careful to put at least the CALLERS file on an unshared volume.
  2153.  
  2154.      RBBS-PC CPC17-2A                                                Page 45
  2155.  
  2156.      5.1  RBBS-PC System Files
  2157.      -------------------------
  2158.      As shown above, "system" files are both static and variable in length.  The
  2159.      system files used by RBBS-PC are:
  2160.  
  2161.      MESSAGES  - This  file is a random file that contains the message text  for
  2162.      the  RBBS-PC system.    The first record  in the file contains the  RBBS-PC
  2163.      "checkpoint" record.   The records immediately following  this first record
  2164.      are the RBBS-PC  "node" records. The rest  of the file consists  of message
  2165.      header   records   which  are   followed  by the  message text   for   that
  2166.      header.   Appendix A describes the fields and their uses within the various
  2167.      type of records of the messages file.  RBBS-PC expects the MESSAGES file to
  2168.      exist and to   have been created by the CONFIG utility.  If CONFIG does not
  2169.      find the MESSAGES  file or  it finds  one in pre-CPC12-3A  format, it  will
  2170.      create it  and initialize  it to the size the SYSOP specifies.   Because of
  2171.      the fixed length records in  this file,  it should not be created or edited
  2172.      outside CONFIG.   When  the  SYSOP  "packs" the  message file using CONFIG,
  2173.      the file  MESSAGES.BAK is created to   hold   the old messages in  case the
  2174.      "pack" is unsuccessful (i.e.  not enough space  to  duplicate  the  message
  2175.      file).   If the  disk fills up   during   the  pack   function RBBS-PC will
  2176.      recover the  message file  using MESSAGES.BAK.  When the  messages file  is
  2177.      successfully  packed,  the  pre-packed     messages  file    is     renamed
  2178.      MESSAGES.OLD  and the temporary file  MESSAGES.BAK is renamed MESSAGES. The
  2179.      MESSAGES  file  should  only be    "packed"  in    a    multiple    RBBS-PC
  2180.      environment  when there are no  RBBS-PCs active.  The MESSAGES file  can be
  2181.      shared among multiple RBBS-PCs.
  2182.  
  2183.      USERS  - The USERS file is a random access file that has a record for  each
  2184.      user who used the system.  The record  contains a profile for each user who
  2185.      has logged onto  RBBS-PC.  Appendix A  describes the format of  the records
  2186.      within  the  USERS file.   The  records  are 128  bytes in  length  and are
  2187.      automatically  maintained  by  RBBS-PC.    The  SYSOP  can do some  limited
  2188.      editing   using  SYSOP function  5.  To initialize  the system simply ERASE
  2189.      this file.    RBBS-PC expects the   USERS file to  exist.  If   the utility
  2190.      CONFIG does  not  find the file on the system it will create it to the size
  2191.      specified by  the SYSOP.   The  USERS   file    should   not be  created or
  2192.      edited  outside  CONFIG.    When  the SYSOP   "packs"  the  user file using
  2193.      CONFIG,  the file USERS.BAK  is created to hold the old users in  case  the
  2194.      "pack"  is unsuccessful  (i.e.  not  enough space  to duplicate the   users
  2195.      file).    If  the disk  fills up  during the  pack function  RBBS- PC  will
  2196.      recover    the  USERS  file  with  USERS.BAK.    When  the  users  file  is
  2197.      successfully packed, the pre-packed users file is renamed USERS.OLD and the
  2198.      temporary file USERS.BAK  is renamed USERS.  The USERS file should  only be
  2199.      "packed" in  a multiple  RBBS-PC environment  when there  are no  RBBS-PC's
  2200.      active.  The USERS file can be shared among multiple RBBS-PC's.
  2201.  
  2202.      CALLERS - This file is a random file that contains a log of all callers  as
  2203.      they log on to  the system along with callers city and  state, the date and
  2204.      the  time.   The names are added to the end of  the file as well as are the
  2205.      names  of   the files uploaded/downloaded by the  caller.   If the  file is
  2206.      not  found  RBBS-PC will  create a new  one.  The file  should be ERASED to
  2207.      clear the log.  The CALLERS file cannot be shared among multiple RBBS-PC's.
  2208.  
  2209.      COMMENTS  - This file is a sequential file that contains any comments  that
  2210.      have been left by users for the SYSOP.   The file can be scanned by a SYSOP
  2211.      function  or  it can be TYPEd  or edited outside the  RBBS-PC  system.    A
  2212.      SYSOP  function  is available to delete  this file,   or it can be  emptied
  2213.      outside of  DOS.    The file will be created by RBBS-PC if it is not found.
  2214.      The COMMENTS file cannot  be shared among multiple RBBS-PC's  using CORVUS'
  2215.      "OMNINET".  This file can be shared using MultiLink or Orchid.
  2216.  
  2217.      RBBS-PC CPC17-2A                                                Page 46
  2218.  
  2219.  
  2220.      99.DIR- The default filename on the upload disk that is to have the name,
  2221.      file  size,  date, and  description appended to it of files that  have been
  2222.      uploaded.  The 99.DIR file cannot be shared among  multiple RBBS-PC's using
  2223.      CORVUS's "OMNINET", but can be shared using MultiLink or Orchid.
  2224.  
  2225.      RBBS-PC.DEF  - This  is  an  ASCII  text file  created  as  output  by  the
  2226.      CONFIG program.   It contains the configuration parameters for the RBBS-PC.
  2227.      It is read  by RBBS-PC to determine the configuration settings tailored  to
  2228.      your   RBBS-PC.  In a multiple RBBS-PC  environment the definition file for
  2229.      each RBBS-PC  is named RBBSxPC.DEF where  "x" is a  number 1 through 9  , 0
  2230.      (for the tenth copy), and A through Z (for  the eleventh through 36th copy)
  2231.      corresponding to  which  copy  RBBS-PC it  describes.  In a  single RBBS-PC
  2232.      environment the name will be RBBS-PC.DEF.
  2233.  
  2234.      RBBS-PC displays on  line 25 the status of those files which must be locked
  2235.      in a network environment.  The lock status of the message file is displayed
  2236.      in  positions 68 & 69.   The lock  status of the user  file is displayed in
  2237.      positions 71 & 72.  The lock block status is displayed in positions 74 & 75
  2238.      and comments/uploads share positions 77 & 78.  The letter  "U" in the first
  2239.      position shows that  the file is currently  "UNLOCKED".  The letter  "L" in
  2240.      the first position indicates that the file is "LOCKED".
  2241.  
  2242.      ARCWORKx.DEF   - This file is created  as output by the file  view  command
  2243.      and contains the contents of the archived file being inquired against.
  2244.  
  2245.      QMXFER.ERR - This file is created as output by  QMXFER.COM to notify RBBS-
  2246.      PC of the results of an external file protocol transfer.
  2247.  
  2248.      DKxxxx.ARC  - This  file is  created as  output by  the Library  Sub-System
  2249.      archive program.  This work file is deleted each time RBBS-PC recycles.
  2250.  
  2251.      DORINFOx.DEF  -  This  file is created by RBBS-PC when a caller exits  to a
  2252.      DOOR.  It contains  information about the  caller needed by  a "DOOR".   It
  2253.      consists  of  an  twelve  record  file   that  contains    the    following
  2254.      information:
  2255.  
  2256.               1.  The name of the RBBS-PC system
  2257.  
  2258.               2.  The SYSOP's first name
  2259.  
  2260.               3.  The SYSOP's last name
  2261.  
  2262.               4.  The communications port being used
  2263.  
  2264.               5.  The baud rate and parity the caller logged on at and the  baud
  2265.                       rate that RBBS-PC is connected to the modem at
  2266.  
  2267.               6.  The network type (if any) RBBS-PC is running in
  2268.  
  2269.               7.  The caller's first name
  2270.  
  2271.               8.  The caller's last name
  2272.  
  2273.               9.  The city and state the caller is from
  2274.  
  2275.              10.  The caller's graphics preferences
  2276.  
  2277.              11.  The caller's security level
  2278.  
  2279.      RBBS-PC CPC17-2A                                                Page 47
  2280.  
  2281.              12.  The caller's time remaining in the current session
  2282.  
  2283.      NODExWRK --  This  file  is created by RBBS-PC when a caller  exits  to  an
  2284.      external  protocol to  do "batch" downloads.  It contains a  list  of fully
  2285.      qualified file names to be downloaded.
  2286.  
  2287.      RBBS-PC CPC17-2A                                                Page 48
  2288.  
  2289.      5.2  RBBS-PC Text Files
  2290.      -----------------------
  2291.      Similarly, the RBBS-PC "text" files are both static and variable in length.
  2292.      The "text" files used by RBBS-PC are:
  2293.  
  2294.      BULLET  -  This is a text menu file that  is printed following the  WELCOME
  2295.      file  when a user  first enters the system.  It must be present  if "CONFIG
  2296.      Utility parameter 43" is greater  than 1.  It can also be called  from  the
  2297.      main  menu  with the <B>ulletins command.  
  2298.  
  2299.      BULLET1 --> n -- There can be 1 to  99 "bulletins".  RBBS-PC will check for
  2300.      the  existence  of  a file  whose  name  consists of  the  prefix  given by
  2301.      parameter 44  of CONFIG.BAS  appended with  the bulletin  number and  using
  2302.      parameter 41 of CONFIG.BAS to determine the drive to find the bulletin on. 
  2303.      Users  can elect to have displayed  two different types of "graphics" files
  2304.      for such standard RBBS-PC system files as HELPxx, BULLET, MENU's, etc.   In
  2305.      order for a user to  see either of these two different  types of "graphics"
  2306.      files, the following must have occurred:
  2307.  
  2308.                logged on N/8/1,
  2309.                requested graphics (either full ASCII or "color/music"), and
  2310.                the file must exist and the filename end in either:
  2311.                     "G" for files containing the graphic ASCII characters
  2312.                          whose values are in the range 129 to 256, or
  2313.                     "C" for files containing combinations of the full
  2314.                          256 characters that the caller's communication 
  2315.                          software can interpret and translate into colors
  2316.                          and music (e.g. PCTK666, QMODEM, and EXECPCT).
  2317.  
  2318.      RBBS-PC will check to see  if a "graphics" files exists by  appending a "G"
  2319.      or "C" to the file name.  If such a file can't be found, RBBS-PC will check
  2320.      to see  if a non-graphics file exists (i.e.  one without the "G").  RBBS-PC
  2321.      will display the first file it finds or a message that the file can  not be
  2322.      found.
  2323.  
  2324.      DIR.DIR,  aa.DIR -->  nn.DIR --  At  least   one   DIR.DIR  file has  to be
  2325.      present  on   one  of   the  drives available  for downloading. Alternative
  2326.      directories, aa.DIR --> nn.DIR  (see section 13), should be  meaningful and
  2327.      should be reflected in the DIR file.
  2328.  
  2329.      CDR.CDR,   aa.CDR   -->  nn.CDR   --  At least one  CDR.CDR file has  to be
  2330.      present on  one of  the drives available  for downloading  if the          
  2331.      Library  Sub-System  support has  been  activated.   Alternative           
  2332.      directories,  aa.CDR --> nn.CDR, should be meaningful and should  be       
  2333.      reflected in the CDR.CDR file.
  2334.  
  2335.      FILESEC - is more fully described in section 17.4 on security.
  2336.  
  2337.      HELP    --  There is  a help  file for  each command which  has the  format
  2338.      xy.HLP, where x  is the first letter  of the section  (M,F,U) and y is  the
  2339.      command letter.  There are also the following special help files:
  2340.  
  2341.      MAIN.HLP -text  file that is printed when <H>elp is requested on  the  main
  2342.      function prompt.  It contains  command information.
  2343.  
  2344.      HELP03 -text file that describes the  message protection options when   <?>
  2345.      is  entered  after  the  message <E>nter command is executed  at  the  main
  2346.      message menu.
  2347.  
  2348.      HELP04 -text file  that describes the message entry  subfunctions when  <?>
  2349.  
  2350.      RBBS-PC CPC17-2A                                                Page 49
  2351.  
  2352.      is entered at the subfunction prompt.
  2353.  
  2354.      FILE.HLP -text  file that is printed when <H>elp is entered  in  the  files
  2355.      subsystem function prompt.
  2356.  
  2357.      UTIL.HLP - text file  printed  when  <H>elp is  requested  in  the  utility
  2358.      subsystem function prompt.
  2359.  
  2360.      HELP09 -text file printed when <H>elp  is requested for type of graphics  a
  2361.      user wants (none, ASCII, color/music).
  2362.  
  2363.      LIBR.HLP  - text file  that is printed   when <H>elp is  entered within the
  2364.      library subsystem.
  2365.  
  2366.      SMARTTXT.HLP -  text file  that illustrates  the use  of embedded  commands
  2367.      within any text  file displayed by RBBS-PC  that causes the text  to appear
  2368.      personalized to the  caller.  See section  8.9 for a fuller  description of
  2369.      this RBBS-PC feature.
  2370.  
  2371.      UPCAT.HLP -- This is the file that is used to help user's categorized their
  2372.      up-uploads.
  2373.  
  2374.      SECVIO.HLP  -- If this   file is present, it is   shown to the caller  each
  2375.      time a security violation occurs.
  2376.  
  2377.      MENU0->A -- contain the  local SYSOP menu and menu of  various commands for
  2378.      the subsystems.  It  is  recommended that these be placed on an  electronic
  2379.      disk drive  (i.e.  RAM) rather than on a floppy or hard drive.
  2380.  
  2381.      NEWUSER  - This is a text file that is displayed for new users just  before
  2382.      registration occurs.  
  2383.  
  2384.      PASSWRDS - is more fully described in section 17.3 on security.
  2385.  
  2386.      PRELOG  -  A text  file  displayed to  callers  prior to  asking  for their
  2387.      first/last name and password.
  2388.  
  2389.      RBBS-CDR.DEF - is  a text file  that contains the  disk numbers, paths  and
  2390.      disk titles of disks available to the Library subsystem.  The format of the
  2391.      file is  described in  section 13.6.   The  RBBS-CDR.DEF (and matching  FMS
  2392.      directory) file can  be downloaded  from Jon  Martins' system.   It is  not
  2393.      distributed with RBBS-PC because of it's size (500K).
  2394.  
  2395.      TRASHCAN  -  is  a text  file  that  contains names  that  the  SYSOP finds
  2396.      objectionable and does not want  used as either a users first or last name.
  2397.      RBBS-PC uses this file, if it exists, to deny access to anyone using one of
  2398.      these names for either their first or last name.
  2399.  
  2400.      WELCOME  - is  a text file  that a  user first  sees upon logging  onto the
  2401.      system.   It  must be present,  and it should be modified to identify  your
  2402.      system.  Similarly  each "conference" can have a "welcome" file by having a
  2403.      file whose last character ended in a "w" (i.e. conference "RBBS" would have
  2404.      a message file named RBBSM.DEF and a  user file named RBBSU.DEF if it where
  2405.      a "private" conference and a welcome file named RBBSW.DEF).
  2406.  
  2407.      CONFENCE - A text file displayed to users who issue the J)oin function from
  2408.      the  main menu.  It  can be created  by any text editor  that can create an
  2409.      ASCII file and should contain a list of the available conferences.
  2410.  
  2411.      LGx.DEF -  This is the file displayed to users based on security level when
  2412.  
  2413.      RBBS-PC CPC17-2A                                                Page 50
  2414.  
  2415.      the caller logs on.   The "x" defines  the security level of the  users who
  2416.      would see  this file.   A  SYSOP can  "lock out"  users (i.e.  give them  a
  2417.      security level below  the minimum to logon  on) for various reasons.   This
  2418.      allows the SYSOP to provide an explanation for callers whose security level
  2419.      falls below the  minimum to  log on.   It  can also  be used  to provide  a
  2420.      "personalized"  welcome  to  users  who have  a  specific  security  level.
  2421.      Callers see  the  LGx.DEF file  corresponding  to their  assigned  security
  2422.      levels.  Some examples are: 
  2423.      Security      File     Text that might be included in the file
  2424.       Level        Name
  2425.         9        LG9.DEF    "Hi, nice to have another SYSOP call in."
  2426.         6        LG6.DEF    "Registered users are the most appreciated."
  2427.         4        LG4.DEF    "Too many security violations."
  2428.        -1        LG-1.DEF   "You behavior has been inappropriate."
  2429.       -99        LG-99.DEF  "You have never uploaded anything."
  2430.       
  2431.      RBBSxF1.DEF --  This is the file  dynamically created when  the local SYSOP
  2432.      wants to drop to DOS.
  2433.  
  2434.      EPILOG.DEF --  This is the  questionnaire that is  shown to users   who log
  2435.      off. It can  be either an extensive "poll" (which frequent users would find
  2436.      tedious) or a simple thank you.
  2437.  
  2438.      PRIVATE.DEF  --  This file  contains  the  information used  for  "personal
  2439.      downloading", described in section 13.7.
  2440.  
  2441.      RBBS-REG.DEF -- This  is the questionnaire that  is asked of all  new users
  2442.      who  log on.  It is only  seen by new users and can  be as extensive as you
  2443.      may like or you can have none at all.
  2444.  
  2445.      MAIN.PUI -- This is the programmable user interface file that allows the
  2446.      SYSOP to structure the RBBS-PC commands as desired.
  2447.  
  2448.      CONFMAIL.DEF -- This is a text file setup by the SYSOP to notify callers of
  2449.      the mail they have  waiting in specific (or all) conferences.   See section
  2450.      18.1 for a more comprehensive description of this feature.
  2451.  
  2452.      AUTOPAGE.DEF -- This is a text file setup by the SYSOP that informs RBBS-PC
  2453.      of which  caller, callers,  or  group of  callers  that the  system  should
  2454.      automatically "page" the  SYSOP as soon as  they log on.   See section 8.11
  2455.      for a more comprehensive description of this feature.
  2456.  
  2457.      RBBS-PC CPC17-2A                                                Page 51
  2458.  
  2459.      6. INSTALLING RBBS-PC FOR THE FIRST TIME
  2460.      ----------------------------------------
  2461.      RBBS-PC, unlike  simpler applications  such as  games and  utilities, is  a
  2462.      complex  application that requires someone who  wishes to set up RBBS-PC to
  2463.      already  be familiar with  modems and PC  communications.  This  section is
  2464.      intended to provide a step-by-step  approach to setting up RBBS-PC  for the
  2465.      first time.   Follow the steps thoughtfully!   Do not proceed to subsequent
  2466.      steps until you understand all the previous steps.
  2467.  
  2468.      However, for  those who  are NOT  familiar with  electronic bulletin  board
  2469.      systems in general,  a much  better introduction to  installing RBBS-PC  is
  2470.      contained in the  book "Electronic Bulletin  Board Starter Kit" by  Charles
  2471.      Bowen  and David Peyton, published  by Bantam Books.  The  book does in 436
  2472.      pages what the  next few pages  attempt to do.   It is  a superb guide  for
  2473.      someone  who  has  never  setup  a  bulletin  board  system and/or  is  not
  2474.      knowledgeable about  PC  or asynchronous  communications.   The book  comes
  2475.      complete with an extensive index  as well as a copy of  RBBS-PC CPC Version
  2476.      15-1C and, of  course, the associated source  code.  Since all  versions of
  2477.      RBBS-PC are upward compatible, this book serves equally well as a guide for
  2478.      the  uninitiated to all  subsequent versions of RBBS-PC.   This book guides
  2479.      the uninitiated  potential SYSOP  in easy  stages from  unwrapping the  two
  2480.      diskettes that  are included with  the book to  operating the more  advance
  2481.      features of  RBBS-PC.  The book was published by  Bantam Books in August of
  2482.      1988,  ISBN 0-553-34552-4,  and can  be found  in most  technical book  and
  2483.      computer  stores.   It  addresses  the  topic of  installing  an electronic
  2484.      bulletin board  system in a  far better way than  this "Technical Reference
  2485.      Guide" could (or would).
  2486.  
  2487.      Because RBBS-PC attempts to  provide SYSOPs the maximum flexibility,  it is
  2488.      perfectly possible for those setting RBBS-PC up for the first time to shoot
  2489.      themselves in the  foot.  Be patient  with yourself.  Remember  that things
  2490.      worth achieving usually are not obtainable without effort.
  2491.  
  2492.      Because  of the  prevalence of  hard disk  usage these days,  the following
  2493.      assumptions about the hardware to be used to set up RBBS-PC has been made:
  2494.  
  2495.               1. IBM PC or XT with a hard disk (previously formatted!)
  2496.               2. Minimum RAM of 320k (only if recompiled -- see Appendix Y)
  2497.               3. Hayes external modem
  2498.               4. Dedicated 'voice grade' phone line
  2499.  
  2500.                                   SOFTWARE REQUIRED
  2501.  
  2502.       1. IBM PC-DOS or MS-DOS 2.0 or higher
  2503.               2. RBBS-PC.EXE - the main program
  2504.               3. CONFIG.EXE - the setup program
  2505.               4. RBBSDOCx.DOC - the documentation files
  2506.               5. ALL of the RBBS-PC text files: MENU1 - MENU5, HELPxx, *.HLP,
  2507.                  WELCOME, DIR.DIR, xxxxxxxx.DIR, PRELOG, BULLET, BULLETxx
  2508.               6. A text editor (PE2, WS non-doc, EDLIN, etc.) to create other
  2509.                  useful/needed text files.  Your editor MUST be capable of
  2510.                  saving spaces (hex 20's) as characters and not substitute
  2511.                  tab characters for strings of spaces.  Those mentioned
  2512.                  above ARE.
  2513.               7. WATCHDGx.COM - an external carrier monitor program where
  2514.                            x =COMx and which is available from most
  2515.                            RBBS-PC systems.
  2516.  
  2517.      1.  [ ] PRINT A COPY OF THE DOCUMENTATION!
  2518.  
  2519.      RBBS-PC CPC17-2A                                                Page 52
  2520.  
  2521.      2.  [ ] Have dinner or take a nap while the previous step executes.
  2522.  
  2523.      3.  [  ] Create  a sub-directory in  which RBBS-PC  is to reside.     MKDIR
  2524.      \RBBS.
  2525.  
  2526.      4.  [ ] Change current directory to the newly  created directory CHDIR     
  2527.        \RBBS.
  2528.  
  2529.      5.  [ ] Create a sub-directory called NEW for your uploads.
  2530.  
  2531.      6.  [ ] Create any other sub-directories you desire to hold downloads
  2532.                   MKDIR TURBO
  2533.                   MKDIR PATCHES
  2534.                   MKDIR UTILS        etc. as sub-directories of C:\RBBS
  2535.              The following is a suggested 'layout' of the sub-directories  and  
  2536.              files which comprise RBBS-PC.
  2537.      C:\
  2538.      COMMAND.COM
  2539.      \DOS
  2540.      \RBBS
  2541.      RBBS.BAT
  2542.      RBBS-PC.EXE
  2543.      CONFIG.EXE
  2544.      WATCHDGx.COM
  2545.      MESSAGES
  2546.      USERS
  2547.      MENU1->MENU5
  2548.       MENUA
  2549.      HELPxx
  2550.      *.HLP
  2551.      WELCOME
  2552.      PRELOG (OPTIONAL)
  2553.      BULLET
  2554.      BULLET1 (HOWEVER MANY)
  2555.      FILESEC
  2556.       PRIVATE.DEF (OPTIONAL)
  2557.      RBBS-CDR.DEF (OPTIONAL)
  2558.       LGx.DEF (OPTIONAL)
  2559.                  AUTOPAGE.DEF (OPTIONAL)
  2560.                  CONFMAIL.DEF (OPTIONAL)
  2561.                  PROTO.DEF (OPTIONAL)
  2562.      PASSWRDS
  2563.      TRASHCAN
  2564.      CALLERS (WRITTEN BY RBBS-PC)
  2565.      COMMENTS (IF NOT USING COMMENTS AS  MESSAGES WILL BE                       
  2566.      CREATED BY RBBS-PC)
  2567.      \RBBS\NEW
  2568.          UPLOADS.DIR    (Whatever your users upload will go here)
  2569.      \RBBS\DIR
  2570.          DIR.DIR
  2571.          TURBO.DIR
  2572.          UTILS.DIR
  2573.           CDR.CDR (OPTIONAL FOR LIBRARY)
  2574.          100.CDR (OPTIONAL FOR LIBRARY)
  2575.          101.CDR (OPTIONAL FOR LIBRARY)
  2576.      \RBBS\TURBO  (What ever your users can download must be put here)
  2577.                  \RBBS\PATCHES (Or here!)
  2578.                  \RBBS\UTILS (Or here!)
  2579.  
  2580.      7.  [ ] Copy RBBS-PC.EXE to the current directory  (C:\RBBS should be).
  2581.  
  2582.      RBBS-PC CPC17-2A                                                Page 53
  2583.  
  2584.  
  2585.      8.  [ ] Copy CONFIG.EXE to the current directory.
  2586.  
  2587.      9.  [ ] Copy all MENU and HELP files to the current directory.
  2588.  
  2589.      10. [ ] Create a text file which will serve as your bulletins menu (default
  2590.      = BULLET) using your text editor.  Normally, it is desirable for this to be
  2591.      a single 23-line  page or shorter.   This is to serve  as a 'menu' for  the
  2592.      user to  select bulletins for  reading by choosing  a number (1-99).   Each
  2593.      bulletin file you  create will be named BULLETxx  where xx = the  number on
  2594.      this menu file.  The following illustrates what you might create:
  2595.  
  2596.                +-------------------------------------------------+
  2597.                |                  Bulletin Menu                  |
  2598.                |-------------------------------------------------|
  2599.                | # | UPDATED  |                  SUBJECT         |
  2600.                |-------------------------------------------------|
  2601.                | 1 | 01/01/80 | TOPIC OF BULLETIN #1  (BULLET1)  |
  2602.                | 2 | 01/01/80 | TOPIC OF BULLETIN #2  (BULLET2)  |
  2603.                | 3 | 01/01/80 | TOPIC OF BULLETIN #3  (BULLET3)  |
  2604.                +-------------------------------------------------+
  2605.  
  2606.      11. [ ] Create a text file for each bulletin that are going to be available
  2607.      BULLET1   BULLET2   ...   etc.   making certain that  the contents  of each
  2608.      corresponds to the indication in the bulletin menu file.
  2609.  
  2610.      12. [ ] To support  all  of the graphics options of RBBS-PC you will need a
  2611.              separate BULLET  file (BULLETG for  IBM-ASCII and BULLETC  for ANSI
  2612.      graphics).  This naming convention (suffix  of G or C) applies also to  the
  2613.      menus and the directory files.  If disk space is, or is  anticipated to be,
  2614.      a problem  use of  only one  set of  menus.   Graphics or  color menus  and
  2615.      bulletins are entirely optional and RBBS-PC will run fine without them.
  2616.  
  2617.      13. [ ] Create a text  file named PRELOG.  Although  this file is  truly an
  2618.              an option, it is a good place  for announcements which you want all
  2619.      callers to see.  If your system restricts  new users to 1200 baud or higher
  2620.      it is also a  good place to let 300  baud callers know why they  cannot log
  2621.      on.
  2622.  
  2623.      14. [ ] Create a text  file named  WELCOME (WELCOMEG, WELCOMEC, if desired)
  2624.      which can contain anything you'd like to express to your callers in the way
  2625.      of a greeting or  other info.  Many SYSOPs  use this file to display  their
  2626.      'logo' and a brief description of the equipment they are using.
  2627.  
  2628.      15. [ ] Now we come to  the  text files for the RBBS-PC file subsystem.  At
  2629.      this  point  we  will use  the  "multiple  directory"  format described  in
  2630.      section 13 rather than  the "single directory" format. These are  the  most
  2631.      hassle, both to  create initially and to  maintain.  The   list(s) of files
  2632.      are called "directories"  in the documentation  and should NOT be  confused
  2633.      with DOS "subdirectories".  These text files require a very specific format
  2634.      (see section 13.4)  because RBBS-PC searches  for information based on  the
  2635.      fields being pre-determined lengths.
  2636.  
  2637.      16. [ ] You will want a ".DIR" file  to correspond to each of the  DOS sub-
  2638.              directories available to your users for downloading.
  2639.  
  2640.      17. [ ] Create a text  file  named  DIR.DIR  which  contains a list  of the
  2641.  
  2642.      available  .DIR filenames (minus the  extension) and some brief description
  2643.      of how the  user may view these lists (i.e. L;XYZ  or L;123).  Now for some
  2644.  
  2645.      RBBS-PC CPC17-2A                                                Page 54
  2646.  
  2647.      suggestions:
  2648.                1) Place all your .DIR files in the same subdirectory.
  2649.                2) If you don't want your upload directory seen, do NOT
  2650.                   place it in with the other .DIR files.
  2651.  
  2652.      18.  [ ] Create a  text  file named   FILESEC   which  is one   of the most
  2653.      significant  of the SYSOP generated files since  it gives you total control
  2654.      of which files  & sub-directories are  available to you  or your users  for
  2655.      downloading.   Files  may  additionally be  protected  from downloading  by
  2656.      password(s)  which  RBBS-PC  will  require  of  the  user  if  the file  is
  2657.      requested.   The  format of  this file  is VERY  specific as are  the other
  2658.      security related files  you will create. See section 16.4 for a description
  2659.      of the format of this file.
  2660.  
  2661.      19. [ ] Create yet  another text  file named TRASHCAN  which is  checked by
  2662.  
  2663.      RBBS-PC when  a newuser logs on, it  will contain a list of  the user names
  2664.      which you  will not permit  on your system.   These might  include sexually
  2665.      oriented or derogatory  terms, computer jargon, common  abbreviations, etc.
  2666.      See section 11.5  for a  more detailed  description of the  format of  this
  2667.      file.
  2668.  
  2669.      20. [ ] Create a text file  named PASSWRDS from  which you may  control the
  2670.      logon duration of various user security  levels and/or permit extending the
  2671.      current logon of  a user through knowledge  of specific passwords.   Again,
  2672.      the  format of this file is  critical to its    functionality.  See section
  2673.      16.3 for a more detailed description of  the format of this file.
  2674.  
  2675.      21. [ ] There is one more text file  which you may  wish to utilize.  Named
  2676.      NEWUSER it is shown only to those persons signing on to your system for the
  2677.      first time.  It can contain anything which you want a newuser to know about
  2678.      the  system (ground rules,conferences, etc.).   It is displayed immediately
  2679.      prior to the  caller being asked to C)hange his logon data, D)isconnect, or
  2680.      R)egister on the system.
  2681.  
  2682.      22. [ ] Create a batch file to automatically bring up RBBS-PC.   Typically,
  2683.      this  would  be invoked  from  the  AUTOEXEC.BAT  file  on a  PC  that  was
  2684.      primarily  dedicated  to running  RBBS-PC.   See  section  14 for  a   more
  2685.      detailed description of a suggested RBBS.BAT file.
  2686.  
  2687.      23. [ ] Now with documentation in hand type CONFIG and  press Enter.  After
  2688.      a welcoming screen  is displayed you will  be asked if you will  be running
  2689.      multiple nodes - for this  discussion it is assumed that you  have only one
  2690.      phone line.  So type NO and press the Enter key.  In a few seconds you will
  2691.      see the  main configuration menu.  You may  now choose to have CONFIG guide
  2692.      you through the critical  parameters (i.e. those that typically  are unique
  2693.      to each  RBBS-PC) or press  the F1 key  to access  the first 'page'  of the
  2694.      setup options.   CAREFULLY  answer each  of the  questions regarding  SYSOP
  2695.      names, etc.  If you  are unsure of  how to respond - refer to section 11 of
  2696.      the documentation.
  2697.  
  2698.      24. [ ] Check that your modem's configuration switches have been set to the
  2699.      positions  indicated in the  docs (for Hayes 1200  external UUDDDUUD) or to
  2700.      the  corresponding functions  as  listed  in  the  documentation  for  your
  2701.      "Hayes-compatible"  modem.  This  step can be  tricky if your  modem is not
  2702.      among those  detailed in the documentation -  even with the modem manual in
  2703.      hand.  But  you knew this  when you  saved all that  money by purchasing  a
  2704.      non-Hayes modem.
  2705.  
  2706.      25. [ ] Press  the 'End' key, respond 'YES' at  the prompt and press Enter.
  2707.  
  2708.      RBBS-PC CPC17-2A                                                Page 55
  2709.  
  2710.              This creates  a file  named RBBS-PC.DEF  in the  current directory.
  2711.      During the execution of CONFIG.EXE it will have also created two additional
  2712.      files (one  for the user file and one for the message file) using the names
  2713.      you specified, or USERS and MESSAGES if you accepted the defaults.
  2714.  
  2715.      26. [ ] Turn on your modem if external.
  2716.  
  2717.      27. [ ] Look at your CONFIG.SYS and AUTOEXEC.BAT files and eliminate any 
  2718.              terminate and stay resident software.
  2719.  
  2720.      28. [ ] Make sure you are running with IBM's (not Microsoft's) PC DOS.
  2721.  
  2722.      29. [ ] Type RBBS and press Enter.  You're on your way as a SYSOP!
  2723.  
  2724.      RBBS-PC CPC17-2A                                                Page 56
  2725.  
  2726.      7.  COMMON PROBLEMS ENCOUNTERED INSTALLING RBBS-PC
  2727.      --------------------------------------------------
  2728.      IT CONTINUALLY RECYCLES!   This can have several causes.  RBBS-PC  requires
  2729.      that a modem be attached to your communications port.  Therefore:
  2730.          1.)  check what communication port is being used.
  2731.          2.)  verify that the communications port exists.
  2732.          3.)  verify that your modem is attached to it.
  2733.          4.)  verify that your modem is powered up.
  2734.          5.)  verify that your modem is configured properly.
  2735.          6.)  verify that CONFIG is configured for your modem.
  2736.          7.)  verify that the modem cable supports all ten signals required by
  2737.               RBBS-PC (see Appendix S).
  2738.          8.)  verify that DTR is set to "normal" rather than always "on" (i.e.
  2739.               true).
  2740.          9.)  verify that each DOS subdirectory referred to in CONFIG exists.
  2741.         10.)  verify that RBBS-PC run properly when CONFIGured for COM0 (i.e.
  2742.               a local workstation).
  2743.  
  2744.      If, after all of the above has been attempted, the problem  still persists,
  2745.      try deleting your MESSAGES and USERS files  and re-run CONFIG to create new
  2746.      ones.  
  2747.  
  2748.      Finally, having exhausted all  the above remedies, the system  continues to
  2749.      continually re-cycle, you may have an incompatible "clone" PC, incompatible
  2750.      DOS, incompatible modem, and/or a bad copy of RBBS-PC.EXE.
  2751.  
  2752.      IT WON'T ANSWER THE PHONE!  This also can be caused by one of the following
  2753.      things:
  2754.  
  2755.          1.)  Phone line is not plugged into the modem.
  2756.          2.)  Modem is not powered on.
  2757.          3.)  Modem is not connected to the communications port that RBBS-PC was
  2758.               told to use.
  2759.          4.)  Your modem is not "Hayes compatible" enough to handle the modem
  2760.               commands described in section 12.
  2761.          5.)  Your modem cable does not have PIN 22 connected.
  2762.  
  2763.      RBBS-PC   does not  require PIN  22 to  be hooked  up on  the RS-232  cable
  2764.      (that's the  cable   which runs between the modem and  the computer) if you
  2765.      specify in CONFIG  that RBBS-PC is   to answer  the  phone  on zero   rings
  2766.      (and  that  it is not  a RING-BACK  system).  In this setting RBBS- PC will
  2767.      initialize the modem so that the MODEM automatically answers the phone.  
  2768.  
  2769.      RBBS-PC's  default is  that RBBS-PC  depends on either  PIN 22  (i.e. "ring
  2770.      indicator") or the  modem sending the characters  "RING"  to know  when the
  2771.      phone is ringing.  This is because RBBS-PC, and NOT  the modem, answers the
  2772.      phone by issuing the ATS1? command to  determine what ring has occurred and
  2773.      then the  ATA command to  tell the modem to  answer the phone  (see section
  2774.      12).  If your modem does not send the characters "RING" each time the phone
  2775.      rings, then you will  need a cable with  PIN 22 connected.  Some  computers
  2776.      (i.e. the PCjr's  external RS-232  interface) and some  modem cables  don't
  2777.      have  a "ring-indicator" signal.   PIN 22 is  the  ring   indicator  coming
  2778.      from the modem  going to the   computer. Just because you  bought an RS-232
  2779.      cable, don't  assume that it has PIN  22 connected.  The  $55 12-pin RS-232
  2780.      cable  sold by many  computer stores often  may not have  PIN 22 connected.
  2781.      For about $18  in parts  from Radio  Shack you  can put  together your  own
  2782.      RS-232 cable with all  the  pins connected.   A friend of mine  paid $14.88
  2783.      (including postage)  for a  RS- 232 cable  with all  the pins  connected by
  2784.      ordering   part  number  CDB25P-4-S   from  Jameco  Electronics.     Jameco
  2785.      Electronics' telephone number is (415) 592-8097.
  2786.  
  2787.      RBBS-PC CPC17-2A                                                Page 57
  2788.  
  2789.  
  2790.      There  have been numerous revisions of the ROM  in the Hayes modems. If all
  2791.      else fails, you  might try adjusting the number of rings that RBBS-PC is to
  2792.      wait until it answers the phone (CONFIG parameter 204).  If it won't answer
  2793.      on one ring, set it to 0.  If it won't answer on zero rings, set it to one.
  2794.  
  2795.      IT LOCKS  UP MY  SYSTEM!  Actually  this is probably  caused by one  of the
  2796.      following things:
  2797.  
  2798.          1.)   The  .EXE file  generated by  the BASIC  compiler is incompatible
  2799.                with either  the DOS that  you are running  (i.e. it isn't  IBM's
  2800.                DOS)  or the  other software  you load  into the system  prior to
  2801.                running RBBS-PC via CONFIG.SYS or your AUTOEXEC.BAT file.
  2802.  
  2803.         2.)    You indicated in  CONFIG that you were running in one  of the    
  2804.                supported networks (i.e. CORVUS, MultiLink, Orchid, etc.) but you
  2805.                aren't.
  2806.  
  2807.          3.)   You are  running on a  Compaq Deskpro  (or using an  add-on board
  2808.                that uses the  unused IBM  DOS interrupt X'7F')  and should  have
  2809.                used CONFIG parameter 29 to indicate you are using a Compaq PC.
  2810.  
  2811.          4.)   You are using an internal modem that doesn't have the same switch
  2812.                settings as the Hayes  1200 and/or your modem needs to have the  
  2813.                result codes turned off when RBBS-PC re-cycles.  Set the modem   
  2814.                initialization string to "ATQ1E1F1M1X0H0".
  2815.  
  2816.      RBBS-PC CPC17-2A                                                Page 58
  2817.  
  2818.      8.  PLANNING YOUR USER INTERFACE
  2819.      ---------------------------------
  2820.      RBBS-PC provides each SYSOP  the maximum control over what is  presented to
  2821.      callers.  There are three areas of control:
  2822.  
  2823.      1. The menus presented to novice callers.
  2824.      2. What is included in the prompt all users get.
  2825.      3. What symbol invokes a particular function.
  2826.  
  2827.      8.1 Menus Shown to Callers
  2828.      --------------------------
  2829.      The menus in RBBS-PC are external  text files that are presented to  novice
  2830.      users.   RBBS-PC simply  displays what is  in these  files to  the callers.
  2831.      Therefore, SYSOPs are  free to change the  text in these files  to whatever
  2832.      they desire.   Simply edit the files.   However, be  sure to use an  editor
  2833.      that produces only  ASCII text files  with no special embedded  characters.
  2834.      Most word processing editors  are not suitable because they  insert special
  2835.      symbols in the file meaningful only to it.  WordStar, in non-document mode,
  2836.      is fine, as is the Personal Editor  when files are saved with no tabs,  and
  2837.      the Program Editor.  Most  editors used for creating computer programs  are
  2838.      suitable.
  2839.  
  2840.      RBBS-PC supports three  types of files, which  the caller can  select using
  2841.      his graphics preference.  A file  with no graphics has only typeable  text.
  2842.      ASCII graphics means  that all  255 ASCII  values display  on the  caller's
  2843.      screen using the IBM PC display conventions.   This allows support for many
  2844.      symbols, such  as straight lines,  a heart, and  many others.   Using these
  2845.      conventions,  many fancy  graphic displays are  possible.  Last,  a use can
  2846.      request color graphics, which means that  the caller's monitor supports not
  2847.      only the IBM display conventions but supports ANSI commands for controlling
  2848.      the monitor, which  include such things as  color as well as  special modes
  2849.      like blinking.   Using ANSI commands, it  is possible to fully  control the
  2850.      caller's monitor.  One can go so far as to create animated pictures.  
  2851.  
  2852.      Menu files are known by their names.  The format is XXXXXXXY, where XXXXXXX
  2853.      is the base file name and Y is a one-character addition.  Y is  nothing for
  2854.      no graphics, G for  ASCII graphics, and C for color graphics.  RBBS-PC will
  2855.      look for  a file  based on  the users  graphic preference  and display  the
  2856.      graphics version if it exists.  Otherwise, the non-graphics file is used.
  2857.  
  2858.      Graphics files  have more characters in  them and therefore take  longer to
  2859.      transmit.  Creating  them is not easy.  However, there are special ANSI and
  2860.      graphics editors which make creating such files much easier.
  2861.  
  2862.      RBBS-PC CPC17-2A                                                Page 59
  2863.  
  2864.      8.2 Subsystem Prompts Shown to Callers
  2865.      --------------------------------------
  2866.      RBBS-PC has several configuration options which  allow each SYSOP to select
  2867.      the prompts that are presented to callers.  They are:
  2868.  
  2869.      1. Whether the section name is shown.
  2870.      2. Whether the letters of the available commands are shown.
  2871.  
  2872.      The commands  in  RBBS-PC are  divided  into four  sections:   MAIN,  FILE,
  2873.      UTILITY and  LIBRARY.   Each  has a set of  commands in them  and there are
  2874.      commands to move  between sections.   If the SYSOP  elects for the  section
  2875.      name to be shown, the command line will read "<section> command", otherwise
  2876.      "Your command".  The default is to show the section.
  2877.  
  2878.      RBBS-PC  normally  prompts a  caller with  the  commands available  in each
  2879.      section that the caller has sufficient security to invoke.  Each command is
  2880.      a single letter and is shown  separated from the others by a comma.   These
  2881.      command letters can  either be  suppressed or not.   By  leaving them on  a
  2882.      SYSOP  provides each  caller  with a  terse but  helpful  reminder of  what
  2883.      commands are available to them.
  2884.  
  2885.      RBBS-PC CPC17-2A                                                Page 60
  2886.  
  2887.      8.3 Commands Available to Callers
  2888.      ---------------------------------
  2889.      All primary commands  in RBBS-PC are invoked by single letter commands.  An
  2890.      attempt is made to  associate the command with  the first letter in  a word
  2891.      which describes the  function, so that the  command letter appears to  be a
  2892.      short abbreviation  for the  longer word.   The command  to invoke  reading
  2893.      messages is R.  The default symbols that would be shown in the command line
  2894.      for each section are:
  2895.  
  2896.      section|? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y 1 2 3 4 5 6 7
  2897.      -------|-------------------------------------------------------------------
  2898.      MAIN   |? @ A B C D E F   H I J K       O P Q R S T   V W X   1 2 3 4 5 6 7
  2899.             | 
  2900.      FILE   |?         D     G H       L   N   P Q   S   U V   X
  2901.             |
  2902.      UTILITY|?     B C   E F G H       L M     P Q R S T U     X
  2903.             |
  2904.      LIBRARY|?   A   C D     G H       L         Q   S     V   X
  2905.             |
  2906.      GLOBAL |?                 H                 Q             X
  2907.  
  2908.      Four commands, ? H  Q and X, have the same meaning in every section and are
  2909.      known as "global."   The other commands  all have unique  function specific
  2910.      for the  section within which they are invoked.  For example, S in the main
  2911.      section  stands  for  S)can messages,  but  S)ubstring  search  in files  &
  2912.      Library, and S)tatistics on the board and session in utilities.  Symbols 1-
  2913.      7 stand for SYSOP functions.
  2914.  
  2915.      RBBS-PC allows the SYSOP  to substitute any symbol for any  command.  Y)ell
  2916.      may be substituted for O)perator page,  or Y)our mail for P)ersonal mail.  
  2917.      If a blank is substituted, the  command is removed from the list and  is no
  2918.      longer available.  Since  there is no V)iew conference command  in the main
  2919.      section, a SYSOP may elect to  disable the V)iew conference command in  the
  2920.      main section by substituting a blank for it.
  2921.  
  2922.      RBBS-PC CPC17-2A                                                Page 61
  2923.  
  2924.      8.4 RBBS-PC's "Wrap-around" Command Search
  2925.      ------------------------------------------
  2926.      There is a special option available in CONFIG which gives the SYSOP unusual
  2927.      flexibility in  configuring the user interface.  A  caller is always "in" a
  2928.      section, that is where  RBBS-PC looks for a command that  the user requests
  2929.      to  see whether it is  a valid command.   The "wrap around" option controls
  2930.      how RBBS-PC looks further for a command when it is not found in the section
  2931.      the caller is in.  If a SYSOP  substitutes a blank for the V>iew conference
  2932.      command in the main section (as mentioned in section 9.3) and a user enters
  2933.      the  V command from  the main section,  the V>erbose ARC  file list command
  2934.      would be what the caller would have invoked.  
  2935.  
  2936.      The fundamental idea is to look further in other sections, where the search
  2937.      order  is  MAIN->FILE->UTILITY->LIBRARY->GLOBAL->SYSOP  and  the search  is
  2938.      circular, more like
  2939.  
  2940.                      ,-->- SYSOP --> MAIN -->---.
  2941.                      |                          |
  2942.                      |                          |
  2943.                    GLOBAL                      FILE
  2944.                      |                          |
  2945.                      |                          |
  2946.                      `-<- LIBRARY -<- UTILITY <-' 
  2947.  
  2948.      The current section  determines only  where the  search starts.   If  roll-
  2949.      around is used, the search will go completely around.  The real reason that
  2950.      "global" commands  are global  is that  RBBS-PC always  searches after  the
  2951.      library section if a command is not in the current section.  SYSOP commands
  2952.      are therefore global for the same reason.
  2953.  
  2954.      The  important feature that  roll-around supports is that  a command with a
  2955.      unique letter works  in all sections.   Thus W)ho will work  everywhere the
  2956.      same  if  roll-around  is enabled.    THIS  ALLOWS  THE SYSOP  TO  SUPPRESS
  2957.      SECTIONS.   In effect,  by enabling roll-around  and giving each  command a
  2958.      unique  symbol,  all  commands become  global  and  there  is no  effective
  2959.      difference between sections.  This allows SYSOPs to make commands available
  2960.      on  a single level  and makes it  unnecessary to  "go" to a  section before
  2961.      using a command in that section.
  2962.  
  2963.      RBBS-PC CPC17-2A                                                Page 62
  2964.  
  2965.      8.5 How to Have a Single Universal Command Line
  2966.      ------------------------------------------------
  2967.      The command structure within  RBBS-PC can be made "flatter"  without making
  2968.      it absolutely flat.  Suppose, for example, that a SYSOP wants callers to be
  2969.      able to do all file functions without going to a files section.  In effect,
  2970.      the file functions are available in  the main section, or the file  section
  2971.      is merged into the  main section.  All that is needed to do is to eliminate
  2972.      the overlap in command letters between the two sections. 
  2973.  
  2974.      The main section and the file section share the letters D, P, S,  and V.  V
  2975.      is  used to  "view" a  conference in  the main  section and "view"  what is
  2976.      contained in  an  .ARCed file.   D  is difficult  because  both D)oors  and
  2977.      D)ownload are entrenched  and natural options.   One could leave D  for the
  2978.      most  frequently  used  function, say  download,  then  use  a special  but
  2979.      arbitrary symbol like # for doors.  Similarly, V could be  left for viewing
  2980.      conference mail in the main section and a special but arbitrary symbol like
  2981.      & for viewing .ARCed files in the file section.
  2982.       S)earch for  substrings could be  replaced by F)ind  since F for  going to
  2983.      F)iles  is not  longer needed.   This  could be  accomplished by  disabling
  2984.      F)iles  and  substituting  F  for  S  in  the files  commands.    The  main
  2985.      disadvantage is that experienced users will use F expecting to get into the
  2986.      F)iles section and will get a confusing command.  Alienating the  old users
  2987.      who will try to use F would defeat the purpose of helping them by making it
  2988.      unnecessary to  use F to get the  file functions.  Better to  leave F alone
  2989.      and use a new letter like Z for Z)ippy search.
  2990.  
  2991.      P is used for  personal mail in the main section as  well as personal files
  2992.      in  the file section.  Leaving P in  the main section for personal mail and
  2993.      selecting the special  (but arbitrary)  symbol * for  personal mail in  the
  2994.      file section would have the lease impact on callers.
  2995.  
  2996.      U has  to be  upload.   Note that Quit  could still  get one  to utilities.
  2997.      Using Q;U we can then  disable U in the main menu.  If three symbols is too
  2998.      much of an exception we could use W for W)rite user preferences and use the
  2999.      special, but arbitrary,  symbol % to  find who else is  on.  Then  we could
  3000.      revise the main menu to read
  3001.  
  3002.                            R B B S   M A I N   M E N U
  3003.                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3004.      -- MESSAGES --      -- SYSTEM --    - FILES -    - UTILITIES -  - ELSEWHERE
  3005.      -
  3006.      [E]nter Message   [A]nswer survey [D]ownload [H]elp (or ?)  [Q]uit
  3007.      [K]ill Message    [B]ulletins     [L]ist     [%]Who's on    [F]iles (Q;F)
  3008.      [P]ersonal Mail   [C]omment       [N]ew      [X]pert on/off [G]oodbye (Q;S)
  3009.      [R]ead Messages   [#]DOORS        [*]Personal files         [W]rite user
  3010.      [S]can Msg header [I]nitial Wel   [U]pload                   preferences
  3011.      [T]opic msg scan  [J]oin a conf.  [&]View ARC files         (Q;U)
  3012.      [V]iew mail wait  [O]perator Page [Z]ippy search            [@]Library
  3013.  
  3014.      RBBS-PC CPC17-2A                                                Page 63
  3015.  
  3016.      This menu could be  re-written without any apparent sub-sections  (by using
  3017.      the letter F to find who else is on) as
  3018.  
  3019.                            R B B S   M A I N   M E N U
  3020.                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3021.      [A]nswer survey [H]elp (or ?)     [P]ersonal mail   [U]pload a file
  3022.      [B]ulletins     [I]nitial welcome [*]Personal files [V]iew conference mail
  3023.      [C]omments      [J]oin conference [P]ersonal mail   [&]View ARC files
  3024.      [#]DOORS          [K]ill  message     [Q]uit                [W]rite  user's
  3025.      preferences
  3026.      [D]ownload      [L]ist files      [R]ead messages   [X]pert on/off
  3027.      [E]nter msg     [N]ew files       [S]can messages   [Z]ippy search
  3028.      [F]ind who's on [O]perator page   [T]opic msg scan  [@]Library
  3029.      [G]oodby
  3030.  
  3031.      Obviously the limitations of using a single section (as the more  primitive
  3032.      bulletin board  systems do)  means  that the  number  of commands  must  be
  3033.      restricted to either
  3034.  
  3035.         a.)  26 (letters in the alphabet), or
  3036.         b.)  36 (letters in the alphabet plus the numbers 0 through 9), or
  3037.         c.)  full "words".
  3038.  
  3039.      With  this  artificial limitation  of  a  single section,  commands  become
  3040.      limited in number, cryptic,  or both.  If the even more  clumsy use of full
  3041.      "words"  is chosen,  the system  must slow  down  as it  can no  longer act
  3042.      immediately upon seeing the first character of a command as RBBS-PC does.
  3043.  
  3044.      However,  assuming that someone would actually wanted to configure  RBBS-PC
  3045.      to be "flat" (i.e. have a single command line), let us continue.   In order
  3046.      not to confuse the caller by being in a section and seeing only some of the
  3047.      commands we want him to use, the  SYSOP could elect not to show the section
  3048.      in the prompt  (CONFIG parameter 37) and  not to show the  commands (CONFIG
  3049.      parameter 38).  Callers would  see simply  "Your command?"  as the  prompt.
  3050.      This makes the expert mode pretty terse,  but that simply means users would
  3051.      spend more time in novice mode before using expert.
  3052.  
  3053.      Now  suppose  that only  a single  command  line was  desired and  that the
  3054.      commands from the  "Utilities" menu commands were to be added to the above.
  3055.  
  3056.      The  "global" H,  ?, Q, and  X commands  already are in  the single command
  3057.      line.
  3058.  
  3059.      M  for  message margin  can  remain unchanged  since  it is  unique  to the
  3060.      Utilities subsystem.  
  3061.  
  3062.      In order to accommodate  the redundancy of letters that exist  by including
  3063.      the Utilities  subsystem's commands,  the W  command for  the main  message
  3064.      subsystem can be re-enabled and the remote SYSOPs commands be eliminated in
  3065.      order to re-use the  numbers.  The Utilities subsystem commands B, C, F, G,
  3066.      L, R,  and S  could then  be  replaced by  the numbers  1 through  9.   The
  3067.      Utilities  subsystem commands  T, U,  E,  and P  could be  replaced  by the
  3068.      commands <, >, \, and /, respectively.
  3069.  
  3070.      RBBS-PC CPC17-2A                                                Page 64
  3071.  
  3072.      This final  menu of  all RBBS-PC commands  could be re-written  without any
  3073.      apparent sub-sections  as follows and the  screen that the would  appear to
  3074.      the "novice" users as:
  3075.  
  3076.                            R B B S  C O M M A N D S
  3077.                            ~~~~~~~~~~~~~~~~~~~~~~~~
  3078.      [A]nswer survey    [O]perator page        [1] Change Baud Rate 300-->450
  3079.      [B]ulletins        [*]Personal files      [2] Display time of day
  3080.      [C]omments         [P]ersonal mail        [3] Set file transfer protocol
  3081.      [#]DOORS           [Q]uit                 [4] Set type of graphics mode
  3082.      [D]ownload         [R]ead messages        [5] Set page length
  3083.      [E]nter msg        [S]can messages        [8] Review callers preferences
  3084.      [G]oodbye          [T]opic msg scan       [9] Display system statistics
  3085.      [H]elp (or ?)      [U]pload a file        [<] Toggle users options on/off
  3086.      [I]nitial welcome  [V]iew conference mail [>] Show the log of callers
  3087.      [J]oin conference  [&]View ARC files      [@] Library
  3088.      [K]ill message     [W]ho's on other nodes [\] Change echo selection
  3089.      [L]ist files       [X]pert on/off         [/] Change password
  3090.      [M]argin set       [Z]ippy search
  3091.      [N]ew files
  3092.  
  3093.      Your command?
  3094.  
  3095.      RBBS-PC CPC17-2A                                                Page 65
  3096.  
  3097.      8.6 RBBS-PC'S Programmable User Interface (PUI)
  3098.      -----------------------------------------------
  3099.      The programmable user  interface (PUI)  lets the SYSOP  take TOTAL  CONTROL
  3100.      what the caller is presented with, including
  3101.  
  3102.      o     the novice menu
  3103.      o     the prompt line
  3104.      o     the organization of commands into groups (sections)
  3105.      o     the flow between sections
  3106.      o     unlimited levels of nested menus.
  3107.  
  3108.      This  allows  RBBS-PC interface  that  the  caller  sees  to  take  on  any
  3109.      appearance desired by the  SYSOP.  In effect, the SYSOP is  limited only by
  3110.      the intrinsic functions of RBBS-PC that have been programmed into the RBBS-
  3111.      PC BASIC source code.
  3112.       These  functions  can  be  assigned  any  command letter  desired  in  the
  3113.      configuration program.   PUI lets  the SYSOP completely  control how  these
  3114.      commands  are  presented  to  the  user  - allowing  RBBS-PC  to  "emulate"
  3115.      virtually  any other  host  communications  environment  that  the  SYSOP's
  3116.      callers may be familiar with.
  3117.  
  3118.      If  no PUI is  provided, RBBS-PC defaults  to dividing the  commands into a
  3119.      MAIN, FILES, UTILITIES, and LIBRARY section.
  3120.  
  3121.      RBBS-PC's PUI gives  each SYSOP the flexibility  to tailor RBBS-PC to  meet
  3122.      special needs.  In effect, RBBS-PC's PUI allows the SYSOP to adjust RBBS-PC
  3123.      to what the SYSOP  wants, rather than forcing the SYSOP  and his callers to
  3124.      conform to RBBS-PC.
  3125.  
  3126.      However, unlike RBBS-PC,  the PUI does not  adjust the prompt to  show only
  3127.      the commands that  the user's  security level makes  him/her eligible  for.
  3128.      And, of course, PUI takes much more time to design and implement.
  3129.  
  3130.      When the SYSOP takes  control of what  the user is  presented by using  the
  3131.      PUI, RBBS-PC does what the SYSOP has explicitly set up -- and nothing else!
  3132.      For example, RBBS-PC's "global" commands, like  help and the expert toggle,
  3133.      are no longer automatically available everywhere.   They are available only
  3134.      where the SYSOP has indicated via the PUI.
  3135.  
  3136.      RBBS-PC's default user  interface has evolved  over the years to  represent
  3137.      what the callers found useful (not the SYSOPs!).  A great deal of time  and
  3138.      thought went  into  RBBS-PC's default  user interface,  and it  is easy  to
  3139.      overlook  important things when  a SYSOP goes  about setting up  his or her
  3140.      own.  When using the PUI assume that a new user interface will take time to
  3141.      both develop and  refine (based on your  callers feedback).   Designing and
  3142.      implementing a PUI is not a simple undertaking as it is a total replacement
  3143.      for RBBS-PC's standard user interface.  
  3144.  
  3145.      RBBS-PC CPC17-2A                                                Page 66
  3146.  
  3147.      8.6.1 An Example Using PUI
  3148.      --------------------------
  3149.      The main menu in  RBBS-PC can represent a bewildering variety  of commands,
  3150.      especially to a  new user.  Psychologists  often say that human  beings can
  3151.      effectively deal with only  at most 7 choices at one  time, whereas RBBS-PC
  3152.      has 17 in  its main section.   To help  people out in  this situation,  the
  3153.      different choices in  RBBS-PC are  grouped into related  commands, but  the
  3154.      choices can  still be overwhelming.   Some SYSOPs have therefore  wanted to
  3155.      simplify the  main menu  by breaking it  up into more  sections.   The most
  3156.      tempting group  of commands to spin off are  the message commands.  Suppose
  3157.      the main menu is to be simplified to look like:
  3158.  
  3159.                               <F>iles
  3160.                               <M>ail
  3161.                               <U>ser preferences
  3162.                               <G>oodbye
  3163.  
  3164.      The <M>ail command in turn puts  one in a section where commands  pertinent
  3165.      to messages become available in yet another menu, such as J)oin and E)nter.
  3166.      PUI is required because  the commands are grouped into  different sections.
  3167.      While  the  default  menu of  RBBS-PC  could  be edited  to  say  this, the
  3168.      underlying commands would not be grouped as desired.
  3169.  
  3170.      RBBS-PC CPC17-2A                                                Page 67
  3171.  
  3172.      8.6.2 How to Implement PUI
  3173.      --------------------------
  3174.      First, plan carefully  on paper exactly what you want the caller to see and
  3175.      what happens with each command.  Consider also,  if you have a submenu, how
  3176.      users are to get out of it.
  3177.  
  3178.      Each menu  or section of  PUI is  controlled by a  file whose extension  is
  3179.      "PUI".  The  PUI is installed by  putting a "main"  PUI file whose name  is
  3180.      specified in the configuration program.   The default is "MAIN.PUI".   Each
  3181.      sub-board  in RBBS-PC can  have a different  PUI system if  desired.  A PUI
  3182.      file consists of exactly 10 lines, and the format is:
  3183.  
  3184.               line 1:       <name of novice menu>
  3185.               line 2:       <prompt to display>
  3186.               line 3:       <valid commands>,<corresponding RBBS-PC commands>
  3187.               line 4:       <which valid commands are menus>
  3188.               line 5:       <names of PUI's that are menus>
  3189.               line 6:       <letter of quit command>
  3190.               line 7:       <prompt for quit command>
  3191.               line 8:       <valid sub-commands of quit command>
  3192.               line 9:       <which quit commands are PUI's>
  3193.               line 10:      <names of menu PUI's in quit command>
  3194.  
  3195.      The text in the lines should NOT be enclosed in quotes, except possibly the
  3196.      two parts of line 3.
  3197.  
  3198.      The novice  menu is just  a text file displayed  to novices, just  like the
  3199.      default  menus (MENU1, MENU2, etc.).  The name  can include a drive or path
  3200.      as  well as an extension.  The menu PUI's  in lines 5 and 10 must be stored
  3201.      in the same drive/path as that in line 1.  
  3202.  
  3203.      The prompt  to display is  what all callers  see when  asked for a  choice,
  3204.      including  experts.  Normally this includes a brief listing of the commands
  3205.      available  along  with a  request  for  a  command.   This  prompt  is  NOT
  3206.      dynamically adjusted to  reflect the security  level of the caller,  unless
  3207.      the default prompt  in RBBS-PC,  which removes commands  the caller  cannot
  3208.      execute.
  3209.  
  3210.      Each PUI defines  a "section" of RBBS-PC  (just like RBBS-PC has  a default
  3211.      section of main, file, library, and utilities).  The valid commands are the
  3212.      symbols for the  acceptable commands  in this  PUI section.   They must  be
  3213.      upper case  only.   The first part  is the names  of the commands  that the
  3214.      caller must  give.  Each symbol must be  mapped to a corresponding internal
  3215.      symbol name in RBBS-PC which is set in CONFIG.  This way the same letter in
  3216.      a given menu  can be used for  different commands in  RBBS-PC, just as  "S"
  3217.      stands for S)can messages in the main section and S)ubstring search  in the
  3218.      files section.  Since the default underlying  RBBS-PC commands use the same
  3219.      letter in different menus,  you should first reconfigure RBBS-PC  to assign
  3220.      each RBBS-PC  command a different underlying symbol.   Then in the PUI file
  3221.      map the letter you  want the caller to  use to that underlying symbol.   Be
  3222.      sure in configuration NOT to limit  commands to the current section --  you
  3223.      must let RBBS-PC  search in other sections for underlying  commands when it
  3224.      does not find it in the current section.
  3225.  
  3226.      In  addition to  the normal  commands available in  RBBS-PC, the  SYSOP can
  3227.      include new commands  which invoke other menus.   These must be  symbols in
  3228.      the list of valid commands.
  3229.  
  3230.      If a valid menu choice is picked, there must be a PUI file for that choice.
  3231.      Line 5 tells  what prefix the PUI file has.   Each PUI name must consist of
  3232.  
  3233.      RBBS-PC CPC17-2A                                                Page 68
  3234.  
  3235.      exactly 7 positions.   The PUI name can  be shorter than 7 letters,  but in
  3236.      the list you must blank fill out to 7 positions to the right.   The first 7
  3237.      characters are for  the first valid menu  command, the second 7  characters
  3238.      are for  the second valid  menu command, etc.   RBBS-PC  will automatically
  3239.      append the extension "PUI"  to this file name.   The file name can  include
  3240.      trailing spaces, and must if shorter  than 7 characters (any blanks in  the
  3241.      name will be omitted).   Note that all PUI files must be in same drive/path
  3242.      as the novice menu in line 1.
  3243.  
  3244.      The last 5 lines in the PUI file  concern how control goes from one PUI  to
  3245.      another.  The  PUI processing  supports a  "quit to" command  in which  the
  3246.      caller can jump to other menus - which one  is specified in the subcommands
  3247.      to the quit command (just like RBBS-PC's "quit" to command).
  3248.      Line 6 is the symbol (in the  valid commands) which is the quit-to command.
  3249.      It must be a single capital letter.
  3250.  
  3251.      Line 7 is the  prompt for the quit-to  command, to be presented  to callers
  3252.      after they select the quit-to command (type ahead is supported).
  3253.  
  3254.      Line 8 is the list of the valid sub-commands of the quit-to command.   Each
  3255.      command must be a capital letter.
  3256.  
  3257.      Line 9 tells  which of the valid subcommands  are pui commands.   If a sub-
  3258.      command  is valid but not a PUI  command, control will be passed to RBBS-PC
  3259.      to process the quit-to  command.  For example, Quit-to S)ystem  for hanging
  3260.      up would have to be processed this way.
  3261.  
  3262.      Line 10 tells what are the names of  the PUI files for each PUI command  in
  3263.      line 9.  The format of the PUI names is  exactly the same as in line 5 -- 7
  3264.      characters blank filled to the right if shorter.
  3265.  
  3266.      The following file MAIN.PUI installs the example that was discussed  in the
  3267.      previous section:
  3268.  
  3269.                        MMENU
  3270.                        Enter choice: <F,M,U,G>
  3271.                        FGMU," G  "
  3272.                        FMU
  3273.                        FMENU   MAILM   UMENU
  3274.                        <blank line>
  3275.                        <blank line>
  3276.                        <blank line>
  3277.                        <blank line>
  3278.                        <blank line>
  3279.  
  3280.      The name of the menu to be  displayed initially is MMENU.  The prompt users
  3281.      will see is "Enter  choice: <F,M,U,G>?" (RBBS-PC adds the trailing  "?" for
  3282.      prompts).   The four valid  commands are F,  G, M, and  U.  Three  of these
  3283.      commands  invoke other menus  (F, M, and  U), and G  is a non-menu command,
  3284.      i.e. one of  the base  RBBS-PC functions.   The PUI  file name  for "F"  is
  3285.      FMENU.PUI, MAILM.PUI  for "M", and  UMENU.PUI for "U".   Each of  these PUI
  3286.      files gives the  same type of  information as the  main PUI.   For example,
  3287.      MAILM.PUI might contain
  3288.  
  3289.                        MAILM.MNU
  3290.                        Enter choice: <E,J,P,Q,R,S,T>
  3291.                        EJPQRST
  3292.                        Q
  3293.                        MAIN
  3294.  
  3295.      RBBS-PC CPC17-2A                                                Page 69
  3296.  
  3297.      The novice menu for the mail section is in file MAILM.MNU.  This file might
  3298.      contain the following text:
  3299.  
  3300.                          M A I L   S U B S Y S T E M
  3301.                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3302.                              E)nter a message
  3303.                              J)oin a new message base
  3304.                              P)ersonal mail (review)
  3305.                              Q)uit to main section
  3306.                              R)ead messages
  3307.                              S)can msg headers
  3308.                              T)opic msg scan
  3309.  
  3310.      The prompt will  appear immediately below this  line unless an extra  blank
  3311.      line is included in the  menu file.  There is only one menu command:  Q for
  3312.      getting back to the main menu.
  3313.  
  3314.      The PUI  system can also  be used to  emulate the default  RBBS-PC commands
  3315.      with 4  sections.  Four sample files are  provided for accomplishing this: 
  3316.      XMAIN.PUI, XFILE.PUI, XUTIL.PUI,  and XLIBR.PUI.   For  novice menus,  each
  3317.      uses the standard  default menu that comes with RBBS-PC.   These presuppose
  3318.      that  RBBS-PC  has  been configured  with  the  following  symbols for  the
  3319.      underlying RBBS-PC commands:
  3320.       
  3321.          MAIN  =       normal:  ABCDEFIJKOPRSTUVW
  3322.                  reconfigured:  ABC>EFIJKOPRSTU\W
  3323.  
  3324.          FILES   =     normal:  DGLNPSUV
  3325.                  reconfigured:  DGLNYZ^V
  3326.  
  3327.          UTILITY =     normal:  BCEFGLMPRSTU
  3328.                  reconfigured:  !#E$<&M*()-+
  3329.  
  3330.          GLOBAL  =     normal:  H?QX
  3331.                  reconfigured:  H?QX
  3332.  
  3333.          SYSOP   =     normal:  1234567
  3334.                  reconfigured:  1234567
  3335.  
  3336.          LIBRARY =     normal:  ACDGLSV
  3337.                  reconfigured:  []{G}:'
  3338.  
  3339.      RBBS-PC CPC17-2A                                                Page 70
  3340.  
  3341.      8.7 RBBS-PC's Support of Sub-menus
  3342.      ----------------------------------
  3343.      Sub-menu support means that an item  on a menu can itself be another  menu,
  3344.      so that selecting it results  in a new menu being displayed  from which the
  3345.      caller can select yet another option.
  3346.       
  3347.      The areas in  RBBS-PC that  can have sub-menu  support include:   answering
  3348.      surveys,  bulletins, doors,  joining a conference,  and the  file subsystem
  3349.      command to list directories.
  3350.       
  3351.      A primary use  of sub-menus is to  simplify the user interface,  chiefly by
  3352.      allowing sub-categorization of  the option.   For example, suppose a  SYSOP
  3353.      has a complex system of doors,  including multi-user games (TREK, NAPOLEON,
  3354.      3DCHESS),  single-user games (D&D, R&R, PICKUP), and demonstrations (DBIII,
  3355.      ORACLE, ADVENT).  These could be presented on a single menu, such as
  3356.               The following Doors are available:
  3357.                 
  3358.      Multi-User Games
  3359.          TREK - explore the galaxy, compete with 12 other players
  3360.          NAPOLEON - be Russia, Italy, or England and fight the computer
  3361.          3DCHESS - are you ready, Spock?
  3362.  
  3363.      Single-User Games
  3364.          D&D - the Unix dungeons and dragons!
  3365.          R&R - welcome to Taipei, Tokoyo, or Bangkok, soldier!
  3366.          PICKUP - do you have what it takes?
  3367.  
  3368.      Demos - all self running
  3369.          DBIII - Special version of DB3 adopted for remote usage
  3370.          ORACLE - see the power of SQL.  Full screen if you emulate ANSI.
  3371.          ADVENT - our own home brewed ...
  3372.  
  3373.      With sub-menus, the user could see a single, 3 item menu
  3374.  
  3375.                  Doors are available for:
  3376.                  MGAME - multi-user games
  3377.                  SGAME - single-user games
  3378.                  DEMO - self running demos
  3379.  
  3380.      When  the caller picks one of  these three, a new  menu comes up that lists
  3381.      the particular doors  for each category.  For example,  after picking MGAME
  3382.      the caller sees
  3383.  
  3384.                     Multi-User Games available include:
  3385.  
  3386.          TREK - explore the galaxy, compete with 12 other players
  3387.          NAPOLEON - be Russia, Italy, or England and fight the computer
  3388.          3DCHESS - are you ready, Spock?
  3389.  
  3390.      RBBS-PC's sub-menu capabilities  allow SYSOPs to set  up "tree-structured",
  3391.      "key word" paths  to options.  Bulletins provide an example where this type
  3392.      of structure can  be very useful.   Bulletins have  two main uses:   short,
  3393.      system-wide announcements, and a standard stock  of text files for policies
  3394.      and procedures for a RBBS-PC.  Some SYSOPs, however, have wanted  to put up
  3395.      an elaborate system of announcements, where in fact these "bulletins" are a
  3396.      featured way of  presenting data to callers.   For example,  an association
  3397.      published 300 short  pamphlets under a dozen categories, and  wants to make
  3398.      this information available  on-line.   Sub-menus fit this  need very  well.
  3399.      The top bulletin menu could read
  3400.  
  3401.      RBBS-PC CPC17-2A                                                Page 71
  3402.  
  3403.                     Bulletins are available for:
  3404.  
  3405.                              NURSES - nurses
  3406.                              OB - obstetricians
  3407.                              PED - pediatricians
  3408.                              FAM - family physicians
  3409.  
  3410.                     Please type in the category you want:
  3411.  
  3412.      OBS, instead of being a bulletin, is a sub-menu that displays:
  3413.  
  3414.              The following bulletins are available for OBSTETRICIANS
  3415.              Each entry shows the length and price per glossy copy.
  3416.  
  3417.                   NAT - natural childbirth, 8 pages, $3
  3418.                   MIDW - midwives. 20 p., $5
  3419.                   NUTRI - special nutritional needs of pregnant women, 25p, $6
  3420.                   FPLAN - family planning services, 40 p, $3
  3421.                   DRUG - drugs to beware when pregnant, 50 p., $5
  3422.  
  3423.      When  the  caller  picks  MIDW,  the  associated  document   is  displayed.
  3424.      Bulletins become a menu-driven way of selecting documents to browse.
  3425.  
  3426.      There are four  general changes  to the commands  when utilizing  RBBS-PC's
  3427.      "sub-menu" features.
  3428.  
  3429.      First, to get  the menu displayed when  in expert mode, the  caller selects
  3430.      the L)ist function.
  3431.       
  3432.      Second, the menu processing routine will  search for a file associated with
  3433.      the option selected.  Bulletins  and file directories will be displayed  to
  3434.      the  user.   These are essentially  "display" functions.   If  a conference
  3435.      exist with the name specified, RBBS-PC will attempt to join  it.  If a door
  3436.      exists AND it  is on the  menu, RBBS-PC will  attempt to invoke  it.   This
  3437.      means that the  option does not have  to be listed explicitly  in the menu.
  3438.      Options can be hidden from  the user and still work (except for  doors).  A
  3439.      "secret"  conference can be available only  if the caller already knows the
  3440.      name.
  3441.       
  3442.      Third, the prompt is more standardized.
  3443.  
  3444.      Fourth, the standard way to get out of the menu is just to press [ENTER].
  3445.  
  3446.      The bulletins function has been generalized so that bulletins can use names
  3447.      and not just numbers.  For  example, selecting "B" as the bulletin  prefix,
  3448.      the above bulletins  would be files BNAT, BMIDW, BNUTRI,  BFLAN, and BDRUG.
  3449.      However, the search  for new bulletins works  properly only if numbers  are
  3450.      used to name  bulletins, and the prompt  for bulletins simply asks  for the
  3451.      bulletin and does not mention any numbers.
  3452.  
  3453.      RBBS-PC CPC17-2A                                                Page 72
  3454.  
  3455.      8.7.1 How to Implement Sub-menus
  3456.      --------------------------------
  3457.      If "XXX"  is an option on a menu, simply create a file named "XXX.MNU" that
  3458.      has  in it the text for the menu.   Put this file in the same drive/path as
  3459.      the non-menu options  (e.g. where the "BAT"  files go for doors,  where the
  3460.      bulletin files  to display are  put, where the  directory files are).   For
  3461.      example, if  "B"  is  the  bulletin  prefix, the  above  example  would  be
  3462.      implemented  by adding the  files "BNURSE.MNU", "BOB.MNU",  "BPED.MNU", and
  3463.      "BFAM.MNU".    Put  these  files  on  the  same drive  that  the  bulletins
  3464.      themselves go.
  3465.  
  3466.      Callers can list any menu at any time as long as the menu they wish to list
  3467.      has  the qualifier "MNU".  For those menus that the CONFIG utility does not
  3468.      allow  the SYSOP to enter a qualifier, the  SYSOP can use an editor to edit
  3469.      the .DEF file and add a qualifier directly.
  3470.  
  3471.      8.7.2 Shared Options Across Sub-menus
  3472.      -------------------------------------
  3473.      Each option on a sub-menus  used to have to be uniquely named, because they
  3474.      all shared  the same prefix.   Hence no  two submenus could offer  the same
  3475.      option   -- RBBS-PC couldn't  have all menus  with 1,2,... or  A,B,C,... as
  3476.      options to pick.   RBBS-PC 17-2A supports using same  response on different
  3477.      menus.  The way that this works is RBBS-PC now searches both for the global
  3478.      prefix and the user  response as well as looking for the current prefix and
  3479.      user response.    If the  bulletin  prefix is  "B",  and the  structure  of
  3480.      bulletins is as follows:
  3481.  
  3482.                /   1        N is main bulletin menu
  3483.             A ---- 2        BNA.MNU  submenu get with choice A
  3484.           /    \   3        BNB.MNU  submenu get with choice B
  3485.          /                  BNC.MNU  submenu get with choice C
  3486.         /      /   1
  3487.      N ---- B ---- 2        BNA1, BNA2, BNA3 bulletins get under NA
  3488.         \      \   3        BNB1, BNB2, BNB3 bulletins get under NB
  3489.          \                  BNC1, BNC2, BNC3 bulletins get under NC
  3490.           \    /   1
  3491.             C ---- 2
  3492.                \   3
  3493.  
  3494.      RBBS-PC CPC17-2A                                                Page 73
  3495.  
  3496.      8.8  RBBS-PC's "Macro" Command Support
  3497.      --------------------------------------
  3498.      RBBS-PC's   "macro"  support  expands  a  single  keystroke  into  multiple
  3499.      keystrokes.  It allows RBBS-PC to be tailored  in even a greater variety of
  3500.      ways  than  before because  a single  command  can be  set up  to  invoke a
  3501.      sequence of  multiple RBBS-PC  commands.   The concept is  similar to  that
  3502.      pioneered by Prokey, except  that in RBBS-PC the  SYSOP defines the  macros
  3503.      and the caller invokes them transparently without knowing.
  3504.  
  3505.      Macros are an extension of the effort in RBBS-PC  to give the SYSOP control
  3506.      over the  user interface.     RBBS-PC allows  the SYSOP  to substitute  any
  3507.      letter for any command, to  group the commands in  any way desired, and  to
  3508.      have unlimited submenus.  Macros give the SYSOPs the ability to  create and
  3509.      mold their  RBBS-PC into  an unlimited  variation of  commands.   RBBS-PC's
  3510.      "macro" command  facilities frees  every SYSOP  from having  to impose  the
  3511.      rigid and inflexible  command structure  on their callers  that other  more
  3512.      limited PC-based bulletin board systems impose.
  3513.  
  3514.      Macros  add a new dimension  to RBBS-PC commands --  commands can be a full
  3515.      word rather than just a single letter.  A macro is invoked by  a name up to
  3516.      8 symbols.    For example, "DOOR" and "OPEN"  can be used to invoke  doors.
  3517.      This makes it easy to  make all commands available on a single  level.  For
  3518.      example,  the otherwise  irreconcilable  conflict  between  "Download"  and
  3519.      "Door" can be resolved by using the full word "DOOR" for doors.
  3520.  
  3521.      Macros  can be used to abbreviate a longer series of commands. If the SYSOP
  3522.      wants to use "A)bandon conference", all that need be done is to add a macro
  3523.      called "A"  whose content is "J  M" (join main).   Or if N)etmail  is to be
  3524.      used to read Fido-net compatible message bases, a macro called "N" could be
  3525.      set up as "D NETMAIL" (use door called NETMAIL).  Since doors are unlimited
  3526.      in nature, RBBS-PC thus can have UNLIMITED commands.
  3527.  
  3528.      A  string of RBBS-PC commands can  be stored in a  macro for many different
  3529.      types of purposes, including (but not limited to)
  3530.  
  3531.           setting up demos, or
  3532.           showing a user what to do rather than just explaining it in words, or
  3533.           automating testing when doing RBBS-PC development, or
  3534.           automating a check-out of all of the RBBS-PC functions.
  3535.  
  3536.      Macros  can also  be used to  make the  same type of  function do different
  3537.      work.    For example, the B)ulletin command basically displays a text file.
  3538.      Suppose an association  wants to  let persons order  pamphlets and  preview
  3539.      them  on-line.   Rather  than bury  the  ordering function  insider A)nswer
  3540.      questionnaire  and the  preview function  inside  B)ulletins, the  commands
  3541.      PREVIEW and  ORDER  can be  added  as macros,  where  ORDER stands  for  "A
  3542.      ORDWHAT" AND "ORDWHAT"  is a submenu listing  what all can be  ordered, and
  3543.      each option  on the submenu  is a questionnaire.   PREVIEW similarly  is "B
  3544.      PREWHAT" where "PREWHAT" is a submenu  listing the available pamphlets they
  3545.      are stored as text files.
  3546.  
  3547.      Macros can  be built to provide interactive help  to callers.  For example,
  3548.      you can put up a macro called EZDOWN to help people download.   It explains
  3549.      everything, asks for  the file name and protocol, and tells the caller what
  3550.      they should be doing on their end, and then drives the download.
  3551.  
  3552.      Macros  can   be  used   to  provide   integrated  data   bases.     Unlike
  3553.      questionnaires,  you can totally  control how data  is written to  a file. 
  3554.      You can put in labels, or data only, put the values in quotes, separate the
  3555.      values by commas, etc.   This is done by  writing to a file.    A block  of
  3556.  
  3557.      RBBS-PC CPC17-2A                                                Page 74
  3558.  
  3559.      text functions like a template into which data values are substituted.
  3560.  
  3561.      Macros can  be used to give "tours"  of your RBBS-PC -- to  showcase new or
  3562.      special features.
  3563.  
  3564.  
  3565.      Macros have security levels built into them to control access, just
  3566.      like regular commands.
  3567.  
  3568.      Macros can be 
  3569.  
  3570.         1.)  invoked anywhere within RBBS-PC -- including questionnaires,
  3571.         2.)  unlimited in length,
  3572.         3.)  used even when the caller has "turbo" key feature enabled,
  3573.         4.)  used with "Smart" Text (see section 8.9),
  3574.         5.)  used to store responses that can be manipulated latter, and
  3575.         6.)  used to support graphics versions of text.
  3576.  
  3577.      It is important to remember that a macro will be ignored if its name is the
  3578.      same as any command.   To replace a command with  a macro, you must  insure
  3579.      that the letter  for the command has been reassigned.  CONFIG parameter 30,
  3580.      parameter  31,  parameter 32,  parameter 33,  and  parameter 34  allow such
  3581.      reassignments to be easily accomplished. 
  3582.  
  3583.      The only  "restriction" that exists is that the  prompt for "More" and file
  3584.      directories will not accept any macro with a single letter.
  3585.  
  3586.      Macro commands  with more than one letter override  all others.  This means
  3587.      that the macro interpretation will prevail  if more than one interpretation
  3588.      is  possible.   For example, in  the absence  of macros the  command "door"
  3589.      would the  interpreted as  the command "d",  so that  saying "door"  in the
  3590.      files  section  would be  download.   But  a  "DOOR.MCR" would  be executed
  3591.      instead when  it exists.   One letter commands,  however, will be  executed
  3592.      when they  match a command letter,  and so any macros will  be ignored that
  3593.      have the same one letter name the same as a command.
  3594.  
  3595.      RBBS-PC CPC17-2A                                                Page 75
  3596.  
  3597.      8.8.1 How to Set Up "Macros"
  3598.      ---------------------------
  3599.      The  first line  in a macro  simply REPLACES  the macro name  and therefore
  3600.      operates  in its place.   If PREVIEW is  typed in and the first line is "B"
  3601.      for bulletins, then "B" will replace "PREVIEW" and the command will proceed
  3602.      exactly as if "B" has been typed instead of "PREVIEW".
  3603.  
  3604.      Subsequent lines in a macro are stored in a  buffer and read off as if they
  3605.      were  typed.   Realize  that in reading  everything is read in  a line at a
  3606.      time, i.e. up to a carriage return.
  3607.  
  3608.      Two configuration parameters must be specified:  the drive/path where macro
  3609.      files are  stored (CONFIG parameter 79)  and the extension the  macro files
  3610.      will have (CONFIG parameter 80).  The default names are "C:" and "MCR".  To
  3611.      create a macro named  X, simply create a  file with prefix X and  the macro
  3612.      extension and place in it the macro drive/path.
  3613.  
  3614.      The first line within  a "macro" contains the  numeric integer value  which
  3615.      represents the minimum security to use the macro.
  3616.  
  3617.      The first line  of a macro  must be the minimum  security level to  use the
  3618.      macro.    The macro will simply  be ignored if the  caller has insufficient
  3619.      security.  The second line will be parsed and replace the macro  name.  The
  3620.      remaining lines will be placed in the stack and will be read
  3621.      in as if typed.
  3622.  
  3623.  
  3624.      Macro commands have the same structure as SmartText variables:
  3625.  
  3626.                 <command prefix><command name>
  3627.  
  3628.      where <command prefix> is the SmartText command specified in CONFIG.
  3629.      The symbol "{" (ascii 123) is the default.   The <command name> consists
  3630.      of two characters.   Lines that are not valid macro commands are simply
  3631.      passed to RBBS as if the user had typed them in.   There are three
  3632.      differences between SmartText variables and macro commands:
  3633.  
  3634.      (1)   Macro commands must be the first three characters on a line,
  3635.            whereas SmartText variables can occur anywhere on a line.
  3636.  
  3637.      (2)   Macro commands can have an argument after the command name, and
  3638.  
  3639.      (3)   A macro command can apply to a block of lines following it.
  3640.  
  3641.      RBBS-PC CPC17-2A                                                Page 76
  3642.  
  3643.      8.8.2 Macro Commands
  3644.      --------------------
  3645.      RBBS-PC  "Macro"  Commands  includes  the  capability  of  having  commands
  3646.      executed within the "macro" rather than  simply passing keystrokes to RBBS-
  3647.      PC.  In all  prompts and blocks, substitution is supported  for both stored
  3648.      answers SmartText variables.  The macro commands include:
  3649.  
  3650.      o   display a line with no carriage return
  3651.      o   display a line with carriage return
  3652.      o   display a block of lines
  3653.      o   display a file
  3654.      o   prompt for a response and store answer
  3655.      o   pause a specified # of seconds
  3656.      o   stack keystrokes
  3657.      o   append a block of lines to a file.
  3658.      o   control whether the macro text is echoed or not
  3659.      o   retrieve values from a file into a form which is the displayed
  3660.  
  3661.      Following is a list and description of valid "macro" commands:
  3662.  
  3663.      *0 - display what follows on the line with no carriage return.
  3664.      *1 - display what follows on the line with a carriage return.
  3665.      *B - display what follows on subsequent lines.
  3666.      *F - display the named file that follows.
  3667.      nn - use text that follows as a prompt and store the result.
  3668.      WT - pause for the number of seconds specified after "WT".
  3669.      >> - append the following block of text to the file specified.
  3670.      ST - Stack the characters immediately following the "ST".
  3671.      M! - Execute the named macro that follows on the same line. 
  3672.      ON - Case logic for branching within macros based on stored results.
  3673.      EY - Echo the text passed in macros as if keystrokes.
  3674.      EN - Do not echo the macro keystrokes.
  3675.      << - Display fields from a file in a form.
  3676.  
  3677.      *0 - display what follows on the line with no carriage return.  
  3678.  
  3679.               {*0Press any key to continue
  3680.  
  3681.      *1 - display what follows on the line with a carriage return.
  3682.  
  3683.               {*1{FN, I hope you enjoyed your tour of the board!
  3684.  
  3685.           The caller's first name  is substituted for the "Smart"  Text variable
  3686.           "{FN".
  3687.  
  3688.      *B - display what  follows on subsequent  lines, each line with  a carriage
  3689.           return, up to the line beginning with "{END".
  3690.  
  3691.               {*B
  3692.               Macro commands have the ability to display
  3693.               multiple lines.  The macro command is
  3694.                           {*B
  3695.               and it will display all lines until it encounters
  3696.               one beginning with {END.  Like it, {FN?
  3697.               {END
  3698.  
  3699.           The caller will seen everything between the first and last lines, with
  3700.           the first name substituted into the last line displayed.
  3701.  
  3702.      *F - display the named file that follows.
  3703.  
  3704.      RBBS-PC CPC17-2A                                                Page 77
  3705.  
  3706.  
  3707.               {*F L:\RBBS\HELP.LST
  3708.  
  3709.           will display the file HELP.LST.
  3710.  
  3711.      nn - use  the text  that follows  on the  line as  a  prompt  and store  the
  3712.           resultant answer in an internal working variable numbered nn.  nn must
  3713.           be two digits  and can be 01,  02, 03, ...,  99.  CONFIG parameter  94
  3714.           controls the maximum # of work variables.
  3715.  
  3716.               {01Please enter the Department you work for:
  3717.               {02Please enter your Office number:
  3718.  
  3719.           This  will store the answers in work variable  # 1 and 2, which can be
  3720.           subsequently referenced  as "[1]" and  "[2]".    You can have  as many
  3721.           work variables as  specified in CONFIG  parameter 94.  Variables  that
  3722.           are reused have their values overwritten.
  3723.  
  3724.  
  3725.      WT - pause for the number of seconds specified after "WT".
  3726.  
  3727.               {WT 2
  3728.  
  3729.           will wait for 2 seconds.
  3730.  
  3731.      >> - append the following block of text to the file specified on this line.
  3732.  
  3733.               {>> C:MACRO.DAT
  3734.              "{FN","{LN","[1]","[2]"
  3735.               {END
  3736.  
  3737.           will append the  following line to  the file named MACRO.DAT  on drive
  3738.           C:, assuming the  caller is KEN GOOSENS, and he responded to the above
  3739.           prompts for  Department  with "Controller"  and Office  # with  "107".
  3740.           Then the line what would be written out is:
  3741.  
  3742.               "KEN","GOOSENS","Controller","107"
  3743.  
  3744.           As many lines can be included as  desired.  Simply end the block to be
  3745.           written out with "{END" as the beginning of the line.
  3746.  
  3747.           Some data base managers want  fixed length files and this is  possible
  3748.           in  the macro  append.   Just  add "/FL"  on the  macro  command line.
  3749.           Rather than replace,  the substitution  will overlay the  line at  the
  3750.           "[",  thus keeping  the output  fixed length.   Lets suppose  that the
  3751.           first work  variable has "A" as a value,  the second work variable has
  3752.           the value "123456",  the third work variable  has "Henry" as a  value,
  3753.           and the caller's first name is KEN.  Then
  3754.  
  3755.               {>> C:\RBBS\DAT.FIL /FL
  3756.               [1][2]....[3]...............{FN........
  3757.               {END
  3758.  
  3759.           would add the following line into DAT.FIL
  3760.  
  3761.                  A  123456.Henry.............KEN.........
  3762.  
  3763.           Normally, blanks would be put where dots are show.
  3764.  
  3765.      ST - Stack the characters immediately following the "ST".
  3766.  
  3767.      RBBS-PC CPC17-2A                                                Page 78
  3768.  
  3769.  
  3770.                      {ST
  3771.  
  3772.           will stack a carriage return (no characters).  And
  3773.          
  3774.                      {STD [1] [2]
  3775.  
  3776.           would stack  "D RBBS-EXE.ARC  Z" -  as if  they were  typed and  ENTER
  3777.           pressed - if the first work variable had  "RBBS-PC.EXE" and the second
  3778.           work variable held "Z".   It is important to note that "macros" are so
  3779.           transparent to RBBS-PC  that if you use  macros to display text  at an
  3780.           RBBS-PC prompt like  "Enter command? ",  RBBS-PC will continue to  sit
  3781.           there  waiting for an  answer.  A  stacked carriage return  at the end
  3782.           will cause the  prompt to  be redisplayed,  though the  effect of  the
  3783.           stack will vary with the particular prompt.
  3784.  
  3785.      M! - Execute the named macro that follows on the same line.  E.g.
  3786.  
  3787.                       {M! ORDER
  3788.  
  3789.           will execute the  macro called ORDER.  The executes are like "go to's"
  3790.           in  that execution  of the  current macro ceases  and does  not return
  3791.           automatically when ORDER is done.  The full file name of the  macro to
  3792.           "go to" is not used (i.e. ORDER.MCR), only the file prefix -- ORDER.
  3793.  
  3794.           As is shown in the example of the ON command,  the macro name can have
  3795.           a drive/path and/or  extension.  If only  a prefix is put  in, RBBS-PC
  3796.           will  automatically  add  the  drive/path  and  extension  for  macros
  3797.           specified  in CONFIG  parameter 79  and parameter  80.   Putting  in a
  3798.           drive/path/extension that is  different from CONFIG's assures  that no
  3799.           caller can invoke the macro -- it only can be used internally by  your
  3800.           application.
  3801.  
  3802.      ON - Case logic for macros.  This allows responses to be tested against and
  3803.           branching logic developed within a "macro".  An example would be:
  3804.  
  3805.               {ON 1
  3806.               =A
  3807.               M! D:\HIDDEN\CHOICEA.MCR
  3808.               =B
  3809.               {*1You have selected option B
  3810.               {02Why did you select B?
  3811.               =C
  3812.               M! D:\HIDDEN\CHOICEA.MCR
  3813.               {END ON
  3814.  
  3815.  
  3816.      EY - Echo the  text passed in macros as if keystrokes.    The default is to
  3817.           echo.
  3818.  
  3819.      EN - Do not echo the macro keystrokes.  An example would be:
  3820.  
  3821.              {EN
  3822.              {*1 The following commands will be executed but now shown
  3823.              {01 Press Enter when ready
  3824.              R L
  3825.              A
  3826.              {EY
  3827.              {*1 Same commands but now you will see the responses to the prompts
  3828.              {01 Press Enter when ready
  3829.  
  3830.      RBBS-PC CPC17-2A                                                Page 79
  3831.  
  3832.              R L
  3833.              A
  3834.  
  3835.      <<  -Display fields  from a  file in  a form.    This is  one of  the most
  3836.           powerful macro commands.  It allows data to be stored in compact, data
  3837.           format but retrieved into a form for display to a caller.    There are
  3838.           5 parameters that can follow the macro command:
  3839.  
  3840.                 <file name>  <file format> <data#> <submode> <rec-pause>
  3841.  
  3842.            where:
  3843.  
  3844.           "<file name>" is the name of the data file that has records to read,
  3845.  
  3846.           "<file format>"  is "/V" if  data is stored in  variable length format
  3847.           and "/F" if fixed length format,
  3848.  
  3849.           "<data#>" is the number  of separate fields in  a record for  variable
  3850.           length data and the length of the data if fixed length,
  3851.  
  3852.           "<submode>" is the mode used to substitute data in the  following form
  3853.           "/FL" if the form is fixed length, meaning that data is  overlaid into
  3854.           the form so as not to change any lengths.
  3855.  
  3856.           "<rec-pause>" should be  "/1" if you want  to pause after each  record
  3857.           rather than when the screen fills.
  3858.  
  3859.           An example of a "macro" that uses this capability is as follows:
  3860.  
  3861.      {*1 -TOPIC-    - DATA # -       - VOICE # -    -First Name-    -Last Name-
  3862.      {<< C:\RBBS\RHLP.DAT /V 5 /FL
  3863.      [1]         [2]              [3]             [5]             [4]
  3864.      {END
  3865.  
  3866.      Note that spaces occur after the "[4]".  If the file RHLP.DAT contains
  3867.  
  3868.      "DOORS","404-981-7781","405-988-7782","Wizard","The"
  3869.      "PROTOCOLS","709-123-4567","0","Horse","Crazy"
  3870.  
  3871.      then the caller would see
  3872.  
  3873.       -TOPIC-    - DATA # -       - VOICE # -    -First Name-    -Last Name-
  3874.      DOORS       404-981-7781     405-988-7782    The             Wizard
  3875.      PROTOCOLS   709-123-4567     0               Crazy           Horse
  3876.  
  3877.      The same example using fixed length data would be
  3878.  
  3879.      {*1 -TOPIC-    - DATA # -       - VOICE # -    - Name -
  3880.      {<< C:\RBBS\RFLH.DAT /F 69 /FL
  3881.      [1](34:12)    [1](46:12)       [1](58:12)      [1](1:33)               
  3882.      {END
  3883.  
  3884.      where RFLH.DAT contains:
  3885.  
  3886.      The Wizard                       DOORS       404-981-7781405-988-7782
  3887.      Crazy Horse                      PROTOCOLS   709-123-45670           
  3888.  
  3889.      This would produce the following for the caller:
  3890.  
  3891.       -TOPIC-    - DATA # -       - VOICE # -    - Name -
  3892.  
  3893.      RBBS-PC CPC17-2A                                                Page 80
  3894.  
  3895.      DOORS       404-981-7781     405-988-7782    The Wizard
  3896.      PROTOCOLS   709-123-4567     0               Crazy Horse
  3897.  
  3898.      Note that work fields support sub-field references in the format:
  3899.  
  3900.               [n](x:y)
  3901.  
  3902.      where n is the work  field number, "x" is the beginning column,  and "y" is
  3903.      the # of  bytes to  get.  If  work field  three had a  value "123abc"  then
  3904.      "[3](3:3)" would have "3ab" as its value.  Fixed length records  are always
  3905.      referenced as work variable one.
  3906.  
  3907.      RBBS-PC CPC17-2A                                                Page 81
  3908.  
  3909.      8.8.3 A Sample Macro
  3910.      --------------------
  3911.      Suppose A)bandon conference  is to be implemented in RBBS-PC.   To do this,
  3912.      the command  A)nswer questionnaires  must be assigned  a different  letter.
  3913.      Else A will always invoke answer instead.   Then the macro file could
  3914.      contain
  3915.                5
  3916.                J M
  3917.  
  3918.      The command  "A" will then be followed  by "Rejoining MAIN".  Incidentally,
  3919.      if the macro had been implemented by
  3920.  
  3921.                5
  3922.                J
  3923.                M
  3924.  
  3925.      The only difference is that the prompt for  what conference to join will be
  3926.      displayed, "M" then  would be displayed as if the caller  had typed it, and
  3927.      then main would be rejoined.  The difference is caused by the fact that the
  3928.      first line after the security level is what replaces the  macro name, so in
  3929.      the first case "M" pre-empts the prompt but not in the second.
  3930.  
  3931.      RBBS-PC CPC17-2A                                                Page 82
  3932.  
  3933.      8.8.4 On-line Data Base With Macros & Questionnaires
  3934.      ----------------------------------------------------
  3935.      RBBS-PC provides the SYSOP with the  ability to offer callers access to  an
  3936.      on-line  database both  internally (using  macros  and questionnaires)  and
  3937.      externally to RBBS-PC (see Appendix U).
  3938.  
  3939.      RBBS-PC's  internal  Remote Data  Base feature  (RDB)  gives the  SYSOP the
  3940.      ability to:
  3941.  
  3942.      o   set up unlimited numbers of named data bases
  3943.      o   set up menus to interact with the user
  3944.      o   prompt users for data
  3945.      o   use Metavariables - both work variables and SmartText variables.
  3946.      o   store user's answers in work variables.   Any subfield in a
  3947.          work variable can be referenced.
  3948.      o   display, or store all metavariables
  3949.      o   process commands conditionally
  3950.      o   save Metavariables to file thru templates, allowing data to
  3951.          be stored in virtually any format desired
  3952.      o   retrieve data into templates for display.
  3953.      o   do full screen data entry
  3954.  
  3955.      RBBS-PC's support for  "full screen" questionnaires  and macros takes  some
  3956.      work on  the SYSOP's part.  The  SYSOP must use ANSI screen  commands.  The
  3957.      SYSOP must then arrange to transmit the  "template" that clears the callers
  3958.      screen and writes the appropriate static text (lines, labels,  etc.) on the
  3959.      callers screen.  Then  the data the user is to see  is transmitted onto the
  3960.      caller's screen.   The "full screen" support  does not allow the  caller to
  3961.      use keys like tab  and cursor arrows to move  around on the screen.   It is
  3962.      "full screen" in the sense that the caller sees all the data that is  to be
  3963.      entered and the cursor moves from field to field.
  3964.  
  3965.      Examples of the  kind of applications  that would utilize RBBS-PC's  remote
  3966.      data base feature are:
  3967.  
  3968.      For Sale - ask user item, price, who  to contact, telephone #.  Callers can
  3969.      add items, or view list of items.
  3970.  
  3971.      BBS lists -Callers can  view data base, or add BBS's where  asked for name,
  3972.      numbers, profile  of features.   No longer do  BBS ads  have to be  left in
  3973.      messages.     Can  have informative,  standardized  profile that  makes BBS
  3974.      comparison meaningful.
  3975.  
  3976.      BIO - ask users  for a profile  of themselves so others  can know who  they
  3977.      are.
  3978.  
  3979.      VOTING -  can collect nominations  say for best GIF  files.  No  way yet to
  3980.      force a caller to vote only once.
  3981.  
  3982.      On-line Database Example
  3983.      ------------------------
  3984.      This  application manages a  data base of  callers who are  willing to help
  3985.      with RBBS-PC by topic.   It is controlled  at a high level by the following
  3986.      questionnaire.
  3987.  
  3988.      C:DUMMY.DAT,4
  3989.      * This questionnaire is for finding help with RBBS by topic.
  3990.      * Please register yourself if you
  3991.      *   o  are willing to help others, and
  3992.      *   o  know enough about a topic to help
  3993.  
  3994.      RBBS-PC CPC17-2A                                                Page 83
  3995.  
  3996.      *
  3997.      * Examples of topics people need help with:
  3998.      *   Desqview       Modem models (HST, Everex, USR Internal, etc.)
  3999.      *   PC-Slaves      Protocols     Conferences    FMS
  4000.      *   Doors          DoubleDos     Subboards      PUI
  4001.      *   Questionnaires 10-Net        Marcos         Uploads
  4002.      *   MU-Purge       File maint.   Personal dwld  Caller Analysis
  4003.      *
  4004.      :-[prompt]-
  4005.      T
  4006.      ? V)iew database, E)nter new data, Q)uit (V,A,Q)
  4007.      =V-[view]-=E-[add]-=Q-[quit]-= -[prompt]-
  4008.      :-[view]-
  4009.      M C:\RBBS\VIEWHELP.MCR
  4010.      >-[prompt]-
  4011.      :-[quit]-
  4012.      @
  4013.      :-[add]-
  4014.      *                  703-978-6360
  4015.      ?1 BBS data number
  4016.      *                                   703-978-4339
  4017.      ?2 Voice # (evening, 0 not to give)
  4018.      * You can specify as many topics as desired, one at a time.
  4019.      *
  4020.      :-[topic]-
  4021.      ?3 RBBS topic you will help others with, or Q)uit
  4022.      =Q-[prompt]-= -[addrec]-
  4023.      :-[addrec]-
  4024.      * -Topic-         - Data # -      - Voice # -   Last Name       First Name
  4025.      */FL[3]              [1]             [2]             {LN             {FN   
  4026.           
  4027.      T
  4028.      ?Really add this record (Y,N)
  4029.      =Y-[really]-=N-[topic]-= -[addrec]-
  4030.      :-[really]-
  4031.      M C:\RBBS\ADDHELP.MCR
  4032.      >-[topic]-
  4033.  
  4034.      Two macros are used by this questionnaire: 
  4035.      VIEWHELP.MCR for displaying the data base, and 
  4036.      ADDHELP.MCR for appending new data to the data base.
  4037.  
  4038.      VIEWHELP.MCR contains
  4039.  
  4040.      5
  4041.      {*1 -Topic-          - Data #  -      - Voice  # -   Last Name        First
  4042.      Name
  4043.      {*F RBBSHELP.DAT
  4044.      {ST
  4045.  
  4046.      ADDHELP.MCR contains
  4047.  
  4048.      5
  4049.      {>> RBBSHELP.DAT /FL
  4050.      [3]              [1]              [2]            {LN             {FN       
  4051.       
  4052.      {END
  4053.      {ST
  4054.  
  4055.      Full Screen Example
  4056.  
  4057.      RBBS-PC CPC17-2A                                                Page 84
  4058.  
  4059.      -------------------
  4060.      Full screen is available only in a color graphics version of questionnaires
  4061.      and macros.   A long application for collecting BBS information is given in
  4062.      these following files:
  4063.  
  4064.      REGRBBS.DEF  - Questionnaire driver, TTY version
  4065.      REGRBBSC.DEF - Color graphics version of questionnaire driver
  4066.      VUNRBBS.MCR  - View data base macro, TTY version
  4067.      VUNRBBSC.MCR - View data base macro, Color graphics version
  4068.      SVRBBS.MCR   - Macro to save data to a comma separated data file
  4069.  
  4070.      These files can  generally be  download from most  bulletin board  systems.
  4071.      However, they are  definitely available  on Ken Goosens  RBBS-PC system  at
  4072.      (703) 978-6360.
  4073.  
  4074.      Hints a Building Your own Remote Data Base Applications
  4075.      -------------------------------------------------------
  4076.      Generally you will have
  4077.  
  4078.      o    a questionnaire driver that gives caller option to exit, view
  4079.           database, or Enter new data.
  4080.  
  4081.      o    a macro to retrieve data from file to a form
  4082.  
  4083.      o    a macro to save data in a data base format.
  4084.  
  4085.      o    a data entry routine in the questionnaire.
  4086.  
  4087.      Creating a "full-screen" application is more  complicated that than a line-
  4088.      at-a-time  (i.e. TTY) application.  For  full-screen applications, you will
  4089.      want
  4090.  
  4091.      o    to paint a template with all everything but the data values,
  4092.           such as row and column labels and titles.
  4093.  
  4094.      o    to clear out the existing values in a form and then put in
  4095.           the new values.
  4096.  
  4097.      Only the changes to  the screen are transmitted rather  than retransmitting
  4098.      the entire screen when only a part changes.
  4099.  
  4100.      ANSI commands are used  to control the screen.   Where [ESC] stands for the
  4101.      one-character Escape (ascii 27), the most useful ANSI commands to know are:
  4102.  
  4103.      [ESC][2J   -  clear the screen.
  4104.  
  4105.      [ESC][K    -  clear from current cursor postion to end of line.  Cursor
  4106.                    position after clearing is same as before.
  4107.  
  4108.      [ESC][X;Yf -  position the cursor on row x and column Y.  E.g.
  4109.                    "[ESC][5;10f" positions on column 10 of row 5.
  4110.  
  4111.      Case  is significant in  ANSI commands, so  beware that  "[ESC][k" will NOT
  4112.      clear to end of line, and "[ESC][1;7F" will not position the cursor.
  4113.  
  4114.      You can use ANSI commands to reverse the  video and change blinking and set
  4115.      color.    An easy way consistent  with RBBS-PC is  to set colors using  the
  4116.      "Smart" Text variables  C0, C1, ..., C4,  where 1-4 are  the colors set  in
  4117.      CONFIG parameter 323, parameter 324, parameter 325, and parameter  326.  C0
  4118.      is "emphasis off" that restores normal text color preference of the caller.
  4119.  
  4120.      RBBS-PC CPC17-2A                                                Page 85
  4121.  
  4122.      An example that  clears the screen, sets  color to 1, positions  on line 1,
  4123.      column 15, prints "Sample Title-", sets  color to caller's text preference,
  4124.      prints 2 spaces, and then prints value of work variable 1 is as follows:
  4125.  
  4126.      [ESC][2J{C1[ESC]1;15fSample Title-{C0  [1]
  4127.  
  4128.      RBBS-PC CPC17-2A                                                Page 86
  4129.  
  4130.      8.9 RBBS-PC's "Smart" Text Files
  4131.      --------------------------------
  4132.      RBBS-PC's lets the SYSOP "personalize" such text files as MENUS, Bulletins,
  4133.      Help, and Welcome files.   This allows the SYSOP to present  to each caller
  4134.      an interface that is not only "programmable", as discussed in section  8.6,
  4135.      but also tailored to the specific caller.
  4136.  
  4137.      To utilize RBBS-PC's "smart" text files, CONFIG parameter 17 must be set to
  4138.      the decimal value of a delineation  character that the text editor used  by
  4139.      the  SYSOP  can  handle.    The  character  you  select  should have  three
  4140.      characteristics:
  4141.  
  4142.           1.)  It should be visible on the screen and when printed.  This allows
  4143.               the SYSOP to see where the control  sequence is when designing the
  4144.               text files to be used as "smart" text files.
  4145.  
  4146.           2.) It should not be a character that might be used for any other     
  4147.           purpose in the text files.
  4148.  
  4149.           3.) It should not be a character that might be interpreted, when      
  4150.          printed, as being a printer command (i.e. start double spacing).
  4151.  
  4152.      Some may like to use characters created by simultaneously pressing two keys
  4153.      such  as the  "Ctrl"  and "N"  keys  to create  a  character whose  decimal
  4154.      representation is  14.   Others may wish  to use  such seldom  used, single
  4155.      keystroke characters as:
  4156.                                  Character   Decimal
  4157.                                               Value
  4158.                                     @          64     
  4159.                                     ^          94
  4160.                                     ~         126
  4161.                                     {         123   <--- Default used by RBBS-PC
  4162.                                     }         125
  4163.                                     |         124
  4164.  
  4165.      CONFIG  parameter  17 can  have  any value  between  0 and  255.   If  0 is
  4166.      selected, RBBS-PC's "smart" text capability will be turned off.
  4167.  
  4168.      A RBBS-PC "smart" text  control sequence consists of the  control character
  4169.      that was selected in CONFIG parameter 17 followed by a "smart" text double-
  4170.      character command.   These "smart" text  double-character commands MUST  be
  4171.      entered  as  upper case  characters!    The "smart"  text  double-character
  4172.      commands are:
  4173.  
  4174.      COMMAND                 MEANING
  4175.  
  4176.        BD      Displays the bytes downloaded today.
  4177.        CS      Overrides   RBBS-PC's  automatic screen  depth management so  that
  4178.                the next "PRESS ENTER TO CONTINUE"  will not come halfway through
  4179.                a page.
  4180.        C0      Resets color to the user's selection for text.
  4181.        C1      Changes color to the user's selection for Foreground Color One.
  4182.        C2      Changes color to the user's selection for Foreground Color Two.
  4183.        C3      Changes color to the user's selection for Foreground Color Three.
  4184.        C4      Changes color to the user's selection for Foreground Color Four.
  4185.        DB      Inserts the total number of bytes ever downloaded by the caller.
  4186.        DD      Inserts the total number of files downloaded by the caller today.
  4187.        DL      Inserts the total number of files ever downloaded by the caller.
  4188.        DT      Inserts the current date, MM-DD-YYYY, into the text file.
  4189.        FN      Inserts the user's FIRST NAME (in caps) into the text file.
  4190.  
  4191.      RBBS-PC CPC17-2A                                                Page 87
  4192.  
  4193.        LN      Inserts the user's LAST NAME (in caps) into the text file.
  4194.        NS      This   causes  the rest of  the current  file to be  displayed in
  4195.                RBBS-PC's  "none  stop"  mode.    Page  breaks  will  be  ignored
  4196.                following a  NS command.
  4197.        PB       Causes  RBBS-PC  page  break message,  "MORE  (Y/N/NS/A)"  or the
  4198.                "PRESS ENTER.." prompt to appear after the line is printed.
  4199.        RP      Inserts the number of days in the registration period.
  4200.        RR      Displays the days remaining in the caller's registration period.
  4201.        SL      Inserts the user's current security level into the text file.
  4202.        TM      Inserts the time (hh:mm AM/PM) into the text file.
  4203.        TE      Inserts  the user's  elapsed session  time (hh:mm) into  the text
  4204.                file.
  4205.        TR      Inserts   the number of minutes  left in the  user's session into
  4206.                the text file.
  4207.        UB      Displays the total number of bytes ever uploaded by the user.
  4208.        UL      Displays the total number of file ever uploaded by the user.
  4209.  
  4210.      When designing "smart" text files, each SYSOP should take into account that
  4211.      the  some  of  the  "smart"  text  commands  (i.e.  the  user's  name)  may
  4212.      significantly extend the length of a line .  It is important that this line
  4213.      elongation  be  taken into  consideration  so  that, when  the  actual text
  4214.      substitution occurs,  the  line  seen by  the  caller does  not  exceed  80
  4215.      characters.
  4216.  
  4217.      What follows is an example of a "smart" text file that demonstrates how all
  4218.      of the above  commands might be used.   The following example  assumes that
  4219.      CONFIG parameter 17 has  been set to the decimal value  123 for the "smart"
  4220.      text delineation character -- {.
  4221.  
  4222.                             INTRODUCING SMART TEXT!
  4223.  
  4224.           RBBS-PC allows the  SYSOP to customize  the text seen by  each caller.
  4225.           For instance,  if the SYSOP  wanted to make  sure this message  didn't
  4226.           scroll off the screen, he could pause the display like this:
  4227.           {PB
  4228.  
  4229.           Or, the SYSOP may want to show the caller that today's date is {DT and
  4230.           the time  is  {TM.   The SYSOP  may even  want to  include a  personal
  4231.           greeting to {FN {LN.
  4232.  
  4233.           The SYSOP can  tell the caller  that their security  level is {SL  and
  4234.           that they have been on-line for {TE, and have {TR minutes left in this
  4235.           session.
  4236.  
  4237.      This  kind of  capability  illustrates  RBBS-PC's  on-going  commitment  to
  4238.      nurturing each SYSOP's creativity and avoiding the dogmatic.
  4239.  
  4240.      RBBS-PC CPC17-2A                                                Page 88
  4241.  
  4242.      8.10 "Colorizing" the RBBS-PC User Interface
  4243.      --------------------------------------------
  4244.      "Colorization" refers to the utilization of color within RBBS-PC text files
  4245.      and prompts.  RBBS-PC has long supported graphics versions of external text
  4246.      files,  and  is even  distributed with  graphics  menus.   RBBS-PC supports
  4247.      "colorization" as follows:
  4248.  
  4249.       1.) In files shown to the callers including:
  4250.                     All menus,
  4251.                     All bulletins,
  4252.                     The Welcome file,
  4253.                     The file for new users,
  4254.                     All on-line help files,
  4255.                     Standard file directories, and
  4256.                     FMS file directories (see item6).
  4257.  
  4258.       2.) Via highlighted text
  4259.                     in searches of messages,
  4260.                     in searches of files,
  4261.                     in announcing new personal mail waiting,
  4262.                     for locked out users, and
  4263.                     the SYSOP user maintenance (function 5).
  4264.  
  4265.      Highlighting  supports   a  limited   but  extremely   functional  use   of
  4266.      colorization - to make it easy  for the caller to spot significant  bits of
  4267.      text on a screen.
  4268.  
  4269.       3.) Within the Programmable user interface (PUI).
  4270.      The  PUI file can have  graphics versions just  like text files.   The file
  4271.      XMAIN.PUI  that  was  used in  the  example  in section  8.6.2  can  have a
  4272.      graphic's   equivalent  named  XMAING.PUI  and  a  color  equivalent  named
  4273.      XMAINC.PUI.  Color codes can be embedded  in the prompts in the PUI as well
  4274.      as external text files.  Each  SYSOP has total freedom to colorize  prompts
  4275.      as well as menus.
  4276.  
  4277.       4.) Within text internal to RBBS-PC.
  4278.      This  applies  to standard  (non-PUI)  prompts,  such as  the  main command
  4279.      prompt, and to  formatted reports, like the message  scan and message read.
  4280.      This type of "colorization" is controlled  by whether highlighting has been
  4281.      turned on in CONFIG.
  4282.  
  4283.       5.) Within RBBS-PC's "short" prompts.
  4284.      Caller foreground color 4 is  used to mark the commands the  user can type.
  4285.      Emphasis is used to mark the default selection.  This colorization is based
  4286.      on a scan of the text to be printed:
  4287.  
  4288.           [...] : will be highlighted (default answer)
  4289.           xxx)  : will be put in foreground color 4 (text to type in): if xxx
  4290.                   is not longer than 2 characters and is in caps
  4291.           <...> : will be put in foreground color 4 (collective choices) and 
  4292.                   if there are words before this, 1st will use foreground 1 and
  4293.                   second foreground 2.
  4294.  
  4295.      RBBS-PC CPC17-2A                                                Page 89
  4296.  
  4297.      "Short"  prompts colorization  applies  to ALL  text  displayed by  RBBS-PC
  4298.      before an answer is expected.  For example, by using the above conventions,
  4299.      questionnaires  can   be  colorized.     This  is  controlled   by  whether
  4300.      highlighting is on.
  4301.  
  4302.       6.) Within FMS file directories.
  4303.      The "colorization" of the FMS file directories is based on the  four colors
  4304.      specified in CONFIG  and is  controlled by  whether or not  the caller  has
  4305.      selected to be in color graphics mode or not.
  4306.  
  4307.      There are two extremes on the use of color -- use none or use everywhere.
  4308.  
  4309.      By using no colorization, RBBS-PC's performance is optimized.  RBBS-PC does
  4310.      not have to go  through the overhead  of transmitting  special instructions
  4311.      to control  the  caller's screen.   The  two chief  functions  of boards  -
  4312.      transmission of textual information and file  exchange - do not essentially
  4313.      involve the use of  color.  Thus "colorization" is at  best dispensable and
  4314.      at worse degrades the performance of these essential functions.
  4315.  
  4316.      Of  course, there are  those who  want their  RBBS-PC's visual  displays to
  4317.      convey as much as  the text or the files themselves (i.e. the message is in
  4318.      the  medium).  These  are the SYSOPs  would elect to  use color everywhere.
  4319.      Color is  largely used  to group related  information on the  screen, where
  4320.      everything has a color.  With  the use of color, plain text begins  to look
  4321.      drab and uninteresting and attention tends to  focus on the colorized text.
  4322.       For this reason, some SYSOPs find it difficult to use color in some places
  4323.      and not in others.
  4324.  
  4325.      If "colorization" is activated everywhere within  RBBS-PC, it is imperative
  4326.      that the  PRELOG or WELCOME  file inform  callers to execute  the G)raphics
  4327.      command.  RBBS-PC's default is to  use "colorization" for internal prompts.
  4328.      The G)raphics command ask users:
  4329.  
  4330.                1.)  If they want graphics versions of text files,
  4331.                2.)  Whether the caller wants prompts colorized,
  4332.                3.)  What color the caller wants for normal text, and
  4333.                4.)  Whether normal text should be bold or normal in intensity.
  4334.  
  4335.      To Implement  "colorization" within RBBS-PC, run CONFIG and go to screen 17
  4336.      of the CONFIG parameters -- "RBBS-PC Color Parameters".
  4337.  
  4338.       1.) Use CONFIG's parameter 321 to put in a string for turning EMPHASIS on.
  4339.      The recommendation is a bright foreground on red background ("[27][1;41m").
  4340.  
  4341.       2.) Use CONFIG's parameter 322 to set the string for normal text.  This is
  4342.      the  general  default  color  and  is  used  to  turn  off  emphasis.   The
  4343.      recommended color is amber (normal yellow) ("[27][0;33m").
  4344.  
  4345.       3.) Use parameter 323, parameter 324, parameter 325, and parameter 326  of
  4346.      CONFIG  to set  the four  caller foreground  colors.   CONFIG  uses natural
  4347.      language phrases to set these, so it is very  easy.  The recommendation, in
  4348.      order, is:
  4349.  
  4350.                     bright green,
  4351.                     bright yellow,
  4352.                     bright purple, and  
  4353.                     bright cyan.
  4354.  
  4355.      These colors are all used in the message header and general command prompt.
  4356.      Foreground 4 is used to highlight the commands the caller actually needs to
  4357.  
  4358.      RBBS-PC CPC17-2A                                                Page 90
  4359.  
  4360.      type in to select that option.
  4361.  
  4362.      No colors will be displayed if  these parameters are set to empty  strings.
  4363.      Callers can  turn off the  colorization simply by going  into Utilities and
  4364.      T)oggle H)ighlite to "off".   The default in RBBS-PC is for colorization to
  4365.      be OFF.
  4366.  
  4367.      Colorization is based on  the ANSI standard.    Special  codes are sent  by
  4368.      RBBS-PC to  the  callers system,  which  must then  be interpreted  by  the
  4369.      caller's communications software.
  4370.  
  4371.      CONFIG lets the SYSOP set  the strings to turn  color emphasis on and  off.
  4372.      Inside the PUI  and external text  files, the SYSOP  must use an  editor to
  4373.      create graphics files.   There are  special graphics editors, like THEDRAW,
  4374.      or a SYSOP who knows the codes to embed can use an ordinary text editor.
  4375.  
  4376.      RBBS-PC CPC17-2A                                                Page 91
  4377.  
  4378.      8.11 RBBS-PC's Automatic Operator Page Option
  4379.      ---------------------------------------------
  4380.      RBBS-PC will "automatically page" the SYSOP whenever a specified caller  or
  4381.      group of callers logs on to RBBS-PC or joins a specific  "conference" (i.e.
  4382.      "sub-board").  The selection criteria be a specific caller's name, a  range
  4383.      of security levels, or whether the caller is a new user.  A SYSOP may  wish
  4384.      to be notified for any number of reasons including:
  4385.  
  4386.           The  SYSOP wants to chat with caller or that caller has  been  causing
  4387.                trouble on the bulletin board and needs to be monitored,
  4388.  
  4389.           The  SYSOP  wants, for security reasons, to be notified  when  anybody
  4390.                logs on with a SYSOP security level.
  4391.  
  4392.           The SYSOP wants to chat with a friend but does not want to continually
  4393.                monitor RBBS-PC's activity.
  4394.  
  4395.      Automatic   paging of  the SYSOP  is  controlled by  a file  whose name  is
  4396.      specified in CONFIG parameter 18 (the  default name is AUTOPAGE.DEF).  This
  4397.      file contains 4 parameters separated by commas.  The format is
  4398.  
  4399.          <condition>,<notify caller?>,<# of times>,<music>
  4400.  
  4401.      <condition>    can be a NAME enclosed in quotes, the string "NEWUSER", or a
  4402.                     security level range specified in the format
  4403.  
  4404.                        /<min sec>/<max sec>
  4405.                     where:
  4406.                             <min sec> is the minimum security level to include
  4407.                             <max sec> is the maximum security level to include
  4408.  
  4409.      <notify caller?> is "N" if the caller is to also be notified that the SYSOP
  4410.                     wants  to  be automatically paged when the caller  logs  on.
  4411.                     Anything else means the caller will not know that the  SYSOP
  4412.                     has been paged automatically.
  4413.  
  4414.      <# of times>   is the number of times that the  PC's  speaker  will  be
  4415.                     sounded.
  4416.  
  4417.      <music>       is what is to be played each time the speaker is sounded.  If
  4418.                     nothing is specified, a beep will be used.
  4419.  
  4420.      Examples:
  4421.  
  4422.      "SEXY  DEVIL",,3,DEL2CL4EDC  means to automatically page the SYSOP  when  a
  4423.                                    caller  named  SEXY  DEVIL logs  on,  not  to
  4424.                                    notify  the  caller, and to  page  the  SYSOP
  4425.                                    three times playing "DEL2CL4EDC" each time.
  4426.  
  4427.      "GREGG SNYDER",N,2,        means to automatically page the SYSOP when GREGG
  4428.                                    SNYDER logs on, to notify the caller, and  to
  4429.                                    beep the SYSOP twice.
  4430.  
  4431.      RBBS-PC CPC17-2A                                                Page 92
  4432.  
  4433.      "NEWUSER",,1,               means to automatically page the SYSOP when  any
  4434.                                    new caller logs on, not to notify the caller,
  4435.                                    and to page the SYSOP once.
  4436.  
  4437.      /10/12,N,3,               means to automatically page the SYSOP when anyone
  4438.                                    with  security 10 through 12  inclusive  logs
  4439.                                    on, to let them know that the SYSOP wants  to
  4440.                                    be notified that they are on, and to beep the
  4441.                                    SYSOP twice.
  4442.  
  4443.      The status line at the bottom of the screen will read "Autopaged!" if RBBS-
  4444.      PC has automatically paged the SYSOP.   This allows the SYSOP to  know that
  4445.      the automatic page  took place, even  if the SYSOP  was not present  at the
  4446.      beginning of the call.  The following is a sample AUTOPAGE.DEF:
  4447.  
  4448.      "SEXY DEVIL",,5,DEL2CL4EDC
  4449.      "GREGG SNYDER",N,2,
  4450.      "NEWUSER",,1,
  4451.      "/10/12",N,3,
  4452.  
  4453.      If more than  one condition will trigger the automatic paging of the SYSOP,
  4454.      the first condition encountered will be used.
  4455.  
  4456.      Since the  AUTOPAGE.DEF file  can be  different for  each "sub-board",  the
  4457.      SYSOP has the option to be automatically paged based on different criteria
  4458.      for each "sub-board".
  4459.  
  4460.      RBBS-PC CPC17-2A                                                Page 93
  4461.  
  4462.      8.12 Enhancing the File Verbose List
  4463.      ------------------------------------
  4464.      Within the File  Subsystem of RBBS-PC  the V)erbose List, sometimes  called
  4465.      View  function,  allows  the  caller  to  get  a  list  of  files  that are
  4466.      "libraried" inside a single file.    RBBS-PC not only supports the commonly
  4467.      used PKWare "zip" format, but also "arc", "pak", and "lzh", and well as ANY
  4468.      library format using SYSOP-installed external procedures.
  4469.  
  4470.      RBBS-PC  assumes  that  the  file  extension  will  identify  the  type  of
  4471.      compression.  Hence, all files with "ARC", "PAK", or "ZOO" have a different
  4472.      but common compression  function.  RBBS-PC  continues its internal  support
  4473.      for ARC files.  However, the SYSOP can install  a Verbose List function for
  4474.      files with extension "xyz".   All the SYSOP must do is put a .BAT file with
  4475.      the name "Vxyz.BAT" on the same disk and path specified for COMMAND.COM via
  4476.      CONFIG parameter 105.  If such a file is present, RBBS-PC will shell to the
  4477.      file  whenever a caller asks  for a V>erbose  listing of any  file with the
  4478.      extension "xyz".  SHELLing requires EXTRA  memory beyond what RBBS-PC uses.
  4479.      If your system  has little or no  free memory, you may be  limited to using
  4480.      the internal V>erbose list feature of RBBS-PC.
  4481.  
  4482.      RBBS-PC includes the following files for external verbose list:
  4483.  
  4484.      ARCVIEW.COM - Compiled C program for verbose list of DWC, PAK, ZOO,
  4485.         and ARC files.  Used in VDWC.BAT, VZOO.BAT.
  4486.  
  4487.      VDWC.BAT -  Processor for DWC files
  4488.      VZOO.BAT -  Processor for ZOO files
  4489.  
  4490.      Each BAT file contains in it:
  4491.  
  4492.                     ARCVIEW [1] > [2]
  4493.  
  4494.      RBBS-PC will SHELL to the above program  (not to the BAT file) after  first
  4495.      substituting the name of the  file to be listed for  "[1]" and the name  of
  4496.      the file containing the  results of the listing for "[2]".   The ">" simply
  4497.      redirects the listing that would normally go to the screen to "[2]".
  4498.  
  4499.      RBBS-PC always expects the results of  the verbose list to be written  to a
  4500.      file named "NODExWRK" when x is the node id (1,2,3,...).
  4501.  
  4502.      How to Implement Your Own Verbose List
  4503.      --------------------------------------
  4504.       
  4505.      Your verbose list program must have a way to receive from RBBS
  4506.  
  4507.      o   the name of the file to list 
  4508.       
  4509.      o   the name of the file to write the listing to. 
  4510.       
  4511.      RBBS will interface with your  program in two different ways,  depending on
  4512.      how many lines your BAT file contains. 
  4513.       
  4514.      If the BAT file contains exactly 1 line, RBBS will shell to the line in the
  4515.      BAT file and  not the BAT file.   RBBS  will dynamically scan for "[1]" and
  4516.      "[2]" in the line and substitute the names of the file to be listed and the
  4517.      file to write the  results to, respectively.  Everything else  will be left
  4518.      intact. 
  4519.       
  4520.      If  the BAT file  contains more than one  line, RBBS will  shell to the BAT
  4521.      file, passing on the  command line first the name of the  file to list, and
  4522.  
  4523.      RBBS-PC CPC17-2A                                                Page 94
  4524.  
  4525.      second the name of the results file. 
  4526.       
  4527.      For example, the following BAT file could be used: 
  4528.       
  4529.                 ECHO OFF 
  4530.                 ARCVIEW %1 > %2 
  4531.                 ECHO ON 
  4532.       
  4533.      Remember,  inside a  BAT file  you can  do any  processing you  want.   For
  4534.      example, if you want to keep a log called VIEW.LOG of the names of 
  4535.      all files viewed, you could have 
  4536.       
  4537.                 ECHO %1 >> VIEW.LOG 
  4538.                 ARCVIEW %1 > %2 
  4539.       
  4540.      The ">>" means to redirect the standard output to file VIEW.LOG but appends
  4541.      rather than replaces. 
  4542.       
  4543.      Using Ziptv 
  4544.      -----------
  4545.       
  4546.      Ziptv is  a program distributed by Samuel H.  Smith which supports not only
  4547.      verbose list,  but the ability to list any file  inside of a ZIP file, thus
  4548.      allowing users  to view documentation  before downloading a  file.     Many
  4549.      sysops will want  to install  ZIPTV to  replace the  internal RBBS  verbose
  4550.      list.  Simply make sure ZIPTV.EXE is either in the current directory or the
  4551.      path, and put VZIP.BAT where config says that COMMAND.COM is. 
  4552.  
  4553.      RBBS-PC CPC17-2A                                                Page 95
  4554.  
  4555.      9.  UNIQUELY IDENTIFYING YOUR CALLERS
  4556.      -------------------------------------
  4557.      All callers need a way to identify themselves and to re-identify themselves
  4558.      on subsequent calls so that they can, for example, read the  mail addressed
  4559.      to  them.   RBBS-PC expects  each caller to  set a  password so  that other
  4560.      callers cannot easily pretend to be  that caller.  Callers are most  easily
  4561.      known  on bulletin boards the same way they  are known in real life - which
  4562.      is usually by first and  last name.  This is why the  default configuration
  4563.      in RBBS-PC uses first and last name to IDENTIFY users.  The first/last name
  4564.      is the callers identify or ID.
  4565.  
  4566.      RBBS-PC also allows  the SYSOP  to identify callers  uniquely by  something
  4567.      other than their first and last names.  Perhaps the SYSOP wants a one  word
  4568.      alias like AVENGER to be allowed or  perhaps callers must use a preassigned
  4569.      access code (access code, employee number,  account number, etc.).  RBBS-PC
  4570.      allows  ANY FIELD  inside the  users  file to  be used  for identification.
  4571.      Since there are  empty, unused  areas in the  user file, a  SYSOP can  even
  4572.      CREATE A NEW FIELD to be used for caller identification.
  4573.  
  4574.      When  anything other than  name is  used to  identify users,  RBBS-PC still
  4575.      wants  callers  to  specify their  names.    It  just  does  not  use  that
  4576.      information to identify them.
  4577.  
  4578.      A fairly common  problem on bulletin board systems with large user lists is
  4579.      that two callers can have the same first and last name.  A caller discovers
  4580.      this when they are unexpectedly asked for a password on the first call to a
  4581.      new system,  indicating that  another caller  has already  used that  name.
  4582.      Further,  since  RBBS-PC  is  used  world-wide  many  non-English  speaking
  4583.      countries  (i.e. in Europe, South America, the  Far East) have callers with
  4584.      names that have  embedded blanks, etc.  RBBS-PC alleviates  this problem by
  4585.      allowing interior  blanks in  first and  last names.   Thus  JIM JONES  can
  4586.      register as JIM K JONES or JIM JONES SR or JIM JONES III.
  4587.  
  4588.      By allowing  ANY  field inside  the  user record  to  be used  to  uniquely
  4589.      identify individual callers, RBBS-PC alleviates the basic problem of having
  4590.      two callers with the same name.
  4591.  
  4592.      This additional INDIVIDUATION field is used to distinguish callers with the
  4593.      same ID.  The way this works is that callers will have to specify  both the
  4594.      identifying and individuation field  and both are used  to match record  in
  4595.      the users  file.   This individuation  field can  likewise be  a new  field
  4596.      created by the SYSOP.  For  example, the SYSOP can specify that callers  be
  4597.      uniquely identified by both their name and their CITY/STATE.  Alternatively
  4598.      the SYSOP can specify  that callers are to be uniquely  identified by their
  4599.      telephone number, which would be a new field for RBBS-PC to store.
  4600.  
  4601.      RBBS-PC CPC17-2A                                                Page 96
  4602.  
  4603.      9.1  Setting Up Identifying and Individuation Fields
  4604.      ----------------------------------------------------
  4605.      The  identifying and  individuation  fields in  RBBS-PC  are controlled  by
  4606.      parameter 41, parameter 42,  parameter 43, parameter 44, parameter  45, and
  4607.      parameter 46 in CONFIG.  The default is to use  the caller's first and last
  4608.      name to uniquely identify a user.   
  4609.  
  4610.      The fields available to uniquely identify a caller (other than the caller's
  4611.      first and last name) are designated in  CONFIG by  the starting position in
  4612.      the users  file and length.  It is  essential therefore to understand WHERE
  4613.      FIELDS ARE STORED IN  THE USER FILE.   Consult Appendix A for the  detailed
  4614.      layout of the user file.
  4615.  
  4616.      RBBS-PC's  flexibility requires caution to  be exercised when selecting the
  4617.      locations of fields used  to identify and individuate, because  options can
  4618.      be selected that make no sense.  For example, it is possible to specify the
  4619.      user  preference  field,  which  means  that  every  time  a  user  changed
  4620.      preferences, such as  default protocol, the  user would become a  different
  4621.      user.  
  4622.  
  4623.      There are  only two fields in the user file that make sense for identifying
  4624.      users:  
  4625.  
  4626.          1.    first/last name (column positions 1-31), or
  4627.          2.    a field designated by you as  the SYSOP for your RBBS-PC.   For a
  4628.                SYSOP-designated field, only 4 choices make sense:
  4629.                a.)  none,
  4630.                b.)  name (columns 1-31),
  4631.                c.)  city/state (columns 63-86), or 
  4632.                d.)  positions 87-97 in the user record currently "unused."
  4633.  
  4634.      Positions 87-97 of the users file currently unused provides a  potential 11
  4635.      columns to use  for special, SYSOP designated fields.  However, there is no
  4636.      guarantee that these positions will not be used in later releases  of RBBS-
  4637.      PC.   Additional  fields  will be  used  from  the far  right.   Any  SYSOP
  4638.      intending to  utilize this area of the users record  is safest if the field
  4639.      selected begins  in column 87 and is as short  as possible.  The shorter it
  4640.      is, the  more likely there will be room in later releases.  For example, 11
  4641.      columns might  be used  for telephone  number (format 123-1234567).   Or  5
  4642.      columns might be used for account number.
  4643.  
  4644.      When a special field is created,  the SYSOP must also supply the prompt  to
  4645.      be used with the field, since RBBS-PC has no way of knowing how to describe
  4646.      the field to a caller.  The prompt is  what is displayed to the caller when
  4647.      asking for the value of the field.
  4648.  
  4649.      RBBS-PC uses the callers first and last name for the "to" and "from" fields
  4650.      for messages  even when the  users name is not  the field used  to uniquely
  4651.      identify callers.
  4652.  
  4653.      RBBS-PC CPC17-2A                                                Page 97
  4654.  
  4655.      9.2  Preloading Identities For Instant Access
  4656.      ---------------------------------------------
  4657.      SYSOPs that operate  bulletin boards that are  open to new callers  have no
  4658.      problems giving  a new caller instant access --   new callers register, set
  4659.      their identity and password, and are immediately on.
  4660.  
  4661.      SYSOPs  that  operate     bulletin  boards  that  are  only   available  by
  4662.      subscription  or who  delay  access operate  differently --    a user  must
  4663.      already know and be able to state identity,  individuation, and password in
  4664.      order to get  on.  To add  a new user, the  values of these fields  must be
  4665.      communicated  back to  the caller  in order  for them  to have access.   To
  4666.      overcome this cumbersome approach,  some SYSOPs allow new callers  on their
  4667.      system (albeit at a security level so low that the caller can do little, if
  4668.      anything) and simply raise the security level of the caller once the caller
  4669.      has met whatever criteria the SYSOP has set for access to the system.
  4670.  
  4671.      Typically new callers must call back and continue  to check to see if their
  4672.      security level  has been raised.   Systems that  do not let  new callers on
  4673.      require the SYSOP  to enter the appropriate information for  each new user,
  4674.      contact the new caller by  mail or phone, and let them know how  to get on.
  4675.      Both  approaches  introduce  delays  to  new  callers for  getting  on  and
  4676.      additional time, expense and overhead for the SYSOP.
  4677.  
  4678.      RBBS-PC provides a systematic solution to the problem of delayed access for
  4679.      new user!  A SYSOP can add a user WITH NO VALUE FOR THE INDIVIDUATION FIELD
  4680.      OR PASSWORD.  These fields can be left blank.  When a caller logs on with a
  4681.      proper ID  and RBBS-PC  finds an individuation  value or  password that  is
  4682.      blank, it lets the caller set the value of those fields without requiring a
  4683.      match.  Subsequent calls, but not  the first, must match the value set  for
  4684.      individuation and password.
  4685.  
  4686.      Even though a SYSOP can add a user and leave the password and individuation
  4687.      blank, this still requires that the SYSOP add the user  only after an ID is
  4688.      agreed to by both  parties.  What if this access is  still not fast enough?
  4689.      The solution provided  by RBBS-PC is  for the SYSOP  to "pre-load" IDs  and
  4690.      give out  a pre-loaded  ID to the  caller for  instant access, so  that the
  4691.      client does not have to wait even for the SYSOP to add the ID.  Since there
  4692.      is no way to  set in advance how a  user wants to be identified,  the SYSOP
  4693.      can set up  essentially random account IDs which are difficult to guess and
  4694.      give these out.
  4695.  
  4696.      Callers willing to charge subscription fees on their  credit cards over the
  4697.      telephone can  be given  a valid  pre-loaded ID  for instant  access.   The
  4698.      ability of RBBS-PC to use  any field for an ID, and let the  first call set
  4699.      individuation  and password,  means that  RBBS-PC can support  boards where
  4700.      instant access is a critical part of their service.
  4701.  
  4702.      RBBS-PC CPC17-2A                                                Page 98
  4703.  
  4704.      10. RBBS-PC's AUTOMATIC SUBSCRIPTION/ TIME MANAGEMENT
  4705.      -----------------------------------------------------
  4706.      RBBS-PC has support  built into it for managing access based on the date of
  4707.      the call  and the time of  day.  As  with the other RBBS-PC  features, this
  4708.      support is optional.  The primary uses of this facility are
  4709.  
  4710.      1.  to make it very easy to control access based on subscription dates.
  4711.      2.  to give callers a temporary, date limited boost in privileges.
  4712.      3.  to vary the amount of time that a call can have for a session
  4713.          based on the time of day.
  4714.  
  4715.      The  subscription management system dramatically reduces the work necessary
  4716.      for subscription maintenance.   After  a user is  registered, RBBS-PC  will
  4717.      AUTOMATICALLY
  4718.  
  4719.      1.  warn users before their subscription expires
  4720.      2.  reduce the security of callers whose subscription has expired.
  4721.  
  4722.      In effect,  a subscription RBBS-PC can be left  on "automatic" pilot and it
  4723.      will operate correctly, without additional effort on the SYSOP's part.
  4724.  
  4725.      The subscription  and time  management system  can  also be  used to  grant
  4726.      callers a temporary boost in privileges.  For example, giving new callers a
  4727.      "free" trial period.
  4728.  
  4729.      Just as cable  TV channels that  sometimes have a  free week of  viewing to
  4730.      attract new subscribers by letting them know what they are missing, a SYSOP
  4731.      of  a subscription RBBS-PC can set up limited  free offers. By setting up a
  4732.      default subscription period of say, 5 days, all new callers can be let onto
  4733.      to see whether they want  to subscribe.  After 5 days,  security drops back
  4734.      down to  a more limited level.   This "free" period can be  made a standing
  4735.      offer, or turned off  after a two week period.   Or, a user who  requests a
  4736.      trial period can be individually added with a short subscription period.
  4737.  
  4738.      Limited trial subscriptions  also are an  attractive alternative for  those
  4739.      SYSOPs that do not give full privileges until after a caller is verified or
  4740.      checked  out.  These  callers are either  asked to fill  out a registration
  4741.      form or leave a  comment, then sometime later the SYSOP  decides whether to
  4742.      increase  the   security  level.    By  letting  new  users  have  a  short
  4743.      registration period with higher  privileges, say 3 days, a SYSOP may choose
  4744.      to give new callers immediate access and minimize the pressure to check the
  4745.      new caller out as soon as possible.  The SYSOP need do nothing if  a caller
  4746.      cannot be verified.  Those that check out  get their security raised.  This
  4747.      way the many honest new users are not penalized but the prank or  dishonest
  4748.      callers can get on only briefly.
  4749.  
  4750.      RBBS-PC CPC17-2A                                                Page 99
  4751.  
  4752.      10.1 Setting It Up
  4753.      ------------------
  4754.      The subscription management system is turned on  by specifying in CONFIG to
  4755.      limit callers  by subscription date.   After access is  so limited, RBBS-PC
  4756.      automatically records the date of the first call.  For old users, this will
  4757.      be the first call made since  the subscription date began to limit  access.
  4758.      This recorded date is the base registration date.  The  SYSOP then needs to
  4759.      specify in CONFIG:
  4760.  
  4761.      1.  A default subscription period (the number of days a new user gets).
  4762.  
  4763.      2.  A warning period (which determines when callers will get an
  4764.         advance warning that their subscription is about to expire.  The
  4765.          warning period is the number of days left needed to trigger a warning.)
  4766.  
  4767.      3.  The security level expired subscribers get.
  4768.  
  4769.      In the PASSWRDS file,  the SYSOP designates different subscription  periods
  4770.      for each  security level  (other than  the default  security level).   This
  4771.      needs to be  specified only if a  subscription period is desired  that will
  4772.      override the default.
  4773.  
  4774.      RBBS-PC  determines  when  the  subscription  will  expire  by  adding  the
  4775.      subscription period to the  base registration date.  Persons  calling after
  4776.      this expiration  date are bumped down to the  expired security level set by
  4777.      the SYSOP in CONFIG.
  4778.  
  4779.      The time management of RBBS-PC is automatically activated when the presence
  4780.      of  the  PASSWRDS  file is  detected.    See section  16.3  for  a complete
  4781.      description of the PASSWRDS file.
  4782.  
  4783.      RBBS-PC CPC17-2A                                                Page 100
  4784.  
  4785.      11. USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC
  4786.      ---------------------------------------------------
  4787.      The RBBS-PC.DEF  file is created   by the  CONFIG program and  contains the
  4788.      program's  default   operating  parameters   and values.  When  you run the
  4789.      CONFIG program   to   create RBBS-PC.DEF or to  update it,   you can change
  4790.      many  of  these  parameters  to meet your needs.  Certain  parameters which
  4791.      control  critical  operations  of the programs are  embedded in the RBBS-PC
  4792.      program and should not   normally be changed by the system operator.   When
  4793.      setting RBBS-PC is set up for the first time, SYSOPs are urged  to take the
  4794.      default values generated  by CONFIG  except for those  parameters that  are
  4795.      unique to their configuration (i.e. the communication port, etc.).
  4796.  
  4797.      CONFIG.BAS, unlike Gaul, is divided into many parts or screens.  They are:
  4798.  
  4799.           Screen         Description
  4800.  
  4801.              1           Global RBBS-PC Parameters (Part 1 of 3)
  4802.              2           Global RBBS-PC Parameters (Part 2 of 3)
  4803.              3           Global RBBS-PC Parameters (Part 3 of 3)
  4804.              4           RBBS-PC System Files (part 1)
  4805.              5           RBBS-PC System Files (part 2)
  4806.              6           Parameters for RBBS-PC "doors"
  4807.              7           Parameters for RBBS-PC Security (part 1)
  4808.              8           Parameters for RBBS-PC Security (part 2)
  4809.              9           Parameters for Multiple RBBS-PC's and "conferences"
  4810.             10           RBBS-PC Utilities
  4811.             11           Parameters for RBBS-PC's File Management System
  4812.             12           RBBS-PC Communications Parameters (part 1)
  4813.             13           RBBS-PC Communications Parameters (part 2)
  4814.             14           RBBS-PC Net Mail
  4815.             15           New users parameters
  4816.             16           Use of the Library Sub-System
  4817.             17           RBBS-PC Color parameters
  4818.             18           Reserved for future use
  4819.  
  4820.      The  user  may  scroll  forward  or  backward through  the  17  screens  of
  4821.      parameters in  CONFIG  using  the  PgUp and  PgDn  keys  on  the  keyboard.
  4822.      Additionally  users may  go directly  to  a specific  screen by  pressing a
  4823.      function key (F1 through F10) or SHIFT and a function key (shift/F1 through
  4824.      Shift F7)  corresponding to the page to be  selected.  To terminate CONFIG,
  4825.      users need only press the "End" key on the keyboard.
  4826.  
  4827.      The compiled version of CONFIG can be invoked with the command:
  4828.  
  4829.               CONFIG  <config file>
  4830.  
  4831.      The <config  file> is  an optional  name of  the configuration  file to  be
  4832.      created or edited.   This assumes that  CONFIG.EXE, is on the  default disk
  4833.      drive.    The  CONFIG  utility  will  write the  RBBS-PC  definition  file,
  4834.      RBBSxPC.DEF to the default drive.
  4835.  
  4836.      RBBS-PC CPC17-2A                                                Page 101
  4837.  
  4838.      11.1 Global RBBS-PC Parameters (Part 1 of 3)
  4839.      --------------------------------------------
  4840.      Parameter 1 and parameter 2  request  the RBBS-PC system operator's (SYSOP)
  4841.      name.  This is  used when someone wants to leave a message for the SYSOP or
  4842.      when  the SYSOP "chats" with someone  on-line.  The SYSOP  name is used  to
  4843.      insure that users are not attempting to access RBBS-PC using the SYSOP name
  4844.      hoping to get a higher access level.   Attempting to logon using the  SYSOP
  4845.      name  will  result  in "LOGON DENIED" and a posting of the attempt  in  the
  4846.      CALLERS  file.  The  SYSOP's name can  be either a  real name  such as "Tom
  4847.      Mack" or an impersonal identifier such as "Physics Department."
  4848.  
  4849.      The SYSOP's default sign-on mode  is set by parameter   3 as either  EXPERT
  4850.      or   NOVICE.    Unless  you are very  familiar with  the RBBS-PC's  command
  4851.      structure,  the  SYSOP's  sign-on mode should be NOVICE.
  4852.  
  4853.      The SYSOP can be paged by callers. Parameter 4 allows the SYSOP  to set the
  4854.      "office  hours"  when a  user can page  the SYSOP.   The IBM  PC's bell  is
  4855.      rather  insistent,  and these hours should be set to match when you will be
  4856.      within   ear-shot of  the RBBS-PC.     The times  are set  using a  24-hour
  4857.      military clock  (i.e.  10:00 P.M.  is 2200 hours).   The SYSOP can override
  4858.      these hours  by activating the page bell via function key 4 on the keyboard
  4859.      of the PC running RBBS-PC.
  4860.  
  4861.      Because  the bell  on an attached  printer is  usually louder than  the one
  4862.      built  into the PC,  the SYSOP  can elect  to have  the printer's  bell via
  4863.      parameter 5 whenever the SYSOP is "paged".
  4864.  
  4865.      Parameter  6  gives  the  SYSOP the  option  of  electing  to have  RBBS-PC
  4866.      automatically  take itself off-line if a "disk  full" condition occurs.  In
  4867.      previous versions, this was not an option.  Now, if the SYSOP  has a floppy
  4868.      disk for  uploads that gets full and everything else is on a hard disk, the
  4869.      SYSOP can  keep RBBS-PC from taking itself  off-line should the floppy disk
  4870.      get full.
  4871.  
  4872.      Parameter   7 is the  SYSOP's preference for prompt  sounds when input   is
  4873.      required.  When this is  on, both the remote user and the  local SYSOP will
  4874.      hear the prompt bell when input is required from the remote user.
  4875.  
  4876.      Parameter  8 of  the CONFIG program asks for  the maximum amount  of   time
  4877.      each  user is to be allowed on the system per session.   Set the number  of
  4878.      minutes  to  whatever you are comfortable with,  but 72 minutes is  a  good
  4879.      setting  for starting up.   Subsequently you may have to lower this  number
  4880.      once  your number of callers increases,  in order to keep callers'  waiting
  4881.      times reasonable.  This can also be made the maximum time on the system per
  4882.      day.   As described elsewhere, each security level can have its own maximum
  4883.      time  on   the  system per session  specified and it can vary  according to
  4884.      the time of day that the user logs on.
  4885.  
  4886.      A SYSOP   may limit the  maximum amount of time  any user with  the default
  4887.      security level can  spend on  your   system  each  day via  parameter 9  of
  4888.      CONFIG.  This is helpful  if  you   have  a  relatively  busy  RBBS-PC  and
  4889.      want to  have as   diversified   group   of   callers as  possible.   Every
  4890.      security level can have a different maximum  time on the system per day and
  4891.      it  may vary based  on the time  of day that  the user logs  on.  These are
  4892.      specified in the PASSWRDS file.
  4893.  
  4894.      RBBS-PC keeps  track of the total amount of elapsed time a user is on RBBS-
  4895.      PC each day.  Each  time a caller logs on, the maximum  amount of time that
  4896.      they are allowed  on the system   is checked against this  daily cumulative
  4897.      total.   The time remaining in  each  caller's session is  the difference. 
  4898.  
  4899.      RBBS-PC CPC17-2A                                                Page 102
  4900.  
  4901.      When a caller  exceeds this maximum and  tries  to  log on again, they  are
  4902.      told that they  have exceeded the allocated time  for that  day  and to try
  4903.      again tomorrow.
  4904.  
  4905.      Parameter 10 allows  a SYSOP to "reward"  users who upload files  by adding
  4906.      some  multiple of  the elapsed  time it  took for  the file  upload  to the
  4907.      current session time.   This should be  used judiciously as some  users may
  4908.      abuse this by  repeatedly uploading COMMAND.COM  or some other  meaningless
  4909.      file.   This  extends both  the users  current session  and other  sessions
  4910.      during  the same  day, but  NOT  the time  on future  days.   However  when
  4911.      specifying this parameter, the  SYSOP will be asked if  upload time credits
  4912.      are to accumulate indefinitely until they  are used.  If the SYSOP  replies
  4913.      "NO",  the upload time credits endure only for the day in which the uploads
  4914.      are made.
  4915.  
  4916.      Parameter 11 sets  the number of months inactivity  that must elapse before
  4917.      a  user is deleted from  the USERS file when the SYSOP "rebuilds"  the user
  4918.      file.
  4919.  
  4920.      Parameter 12 allows the SYSOP to specify the name of the RBBS-PC that is to
  4921.      be displayed  when  a user  first connects  with the  system  and prior  to
  4922.      completing the logon process.
  4923.  
  4924.      Parameter 13, parameter 14, and parameter 15 allow the SYSOP to specify the
  4925.      colors  desired    for the  foreground,    background,  and  border.   When
  4926.      specifying these options   the BASIC manual's section describing  the COLOR
  4927.      command in text  mode should  be  consulted.    This is useful when running
  4928.      multiple RBBS-PC's  and you want a handy way  of determine which RBBS-PC it
  4929.      is that you  are viewing on the screen.   This  option  is NOT available if
  4930.      the SYSOP has specified a "ring-back" system.  
  4931.  
  4932.      Parameter  16  control whether  RBBS-PC  will  use ANSI  codes  for special
  4933.      effects like blinking on the local PC's screen.
  4934.  
  4935.      Parameter 17 designates the  decimal value ( 0 to 255)  of the character to
  4936.      be used for personalizing the text files displayed  to the caller.  If 0 is
  4937.      selected,  no text files will be personalized.   See section 8.9 for a more
  4938.      detailed discussion of how to personalize RBBS-PC text files.
  4939.  
  4940.      Parameter 18 allows  the SYSOP to specify  the file name that  contains the
  4941.      information to  control the "automatic" RBBS-PC  paging of the SYSOP.   See
  4942.      section  8.11  for  a  detailed  description  of  the  file  format  and  a
  4943.      description of RBBS-PC "auto-page" feature.
  4944.  
  4945.      Parameter 19  lets the  SYSOP determine  the level  of detail  to use  when
  4946.      notifying callers of  electronic message.  See  section 19 to get  a better
  4947.      understanding of the full flexibility of mail waiting notification that has
  4948.      been built into RBBS-PC.
  4949.  
  4950.      RBBS-PC CPC17-2A                                                Page 103
  4951.  
  4952.      11.2 Global RBBS-PC Parameters (Part 2 of 3)
  4953.      --------------------------------------------
  4954.      Parameter  21 allows the SYSOP  to remind users  not only of  the  messages
  4955.      that  might  be for them but also messages  that they may have left.   This
  4956.      should  be enough of a nuisance to insure  that users do delete some of the
  4957.      messages they have left and help to keep the MESSAGES file to a minimum.
  4958.  
  4959.      Parameter  22 allows the SYSOP to elect to remind users of how  many  files
  4960.      they have downloaded and uploaded.
  4961.  
  4962.      Parameter 23 allows a  SYSOP to remind users every time they  log on of the
  4963.      preferences they have selected  for such things as file  transfer protocol,
  4964.      graphics, nulls, etc.
  4965.  
  4966.      Parameter 24 allows users to download files immediately upon  logging on to
  4967.      RBBS-PC.  Parameter 24  is only meaningful  if the RBBS-PC File  Management
  4968.      System  (FMS) has  been enabled via  parameter 214. RBBS-PC  will scan this
  4969.      file for the latest uploads.  When a caller logs on, RBBS-PC will determine
  4970.      how many files are  new since the caller last logged on, up to a maximum of
  4971.      23.    By  setting parameter  218,  the  caller is  offered  the  chance to
  4972.      immediately  review  these new  files for  downloading,  if the  caller has
  4973.      sufficient security  to download.   This  happens before  the bulletins  or
  4974.      messages are reviewed.  RBBS-PC's that emphasize software exchange may want
  4975.      to enable this option, others may  not want to give the caller a  chance to
  4976.      download  the  new  files until  after  bulletins  and  messages have  been
  4977.      reviewed.
  4978.  
  4979.      Parameter  25 allows the SYSOP to establish a default page length for users
  4980.      when they log  on.   A 23 line  page length is the default,   but the SYSOP
  4981.      can  set  it   to any number between  0 and 255.    If set to 0,   the user
  4982.      will  receive continuously scrolling output.
  4983.  
  4984.      Parameter 26 allows the SYSOP to specify (within the range  of 1 to 99) the
  4985.      maximum number of lines allowed in each message.
  4986.  
  4987.      Parameter  27  allows  the   SYSOP  to  make  the  system   "welcome"  file
  4988.      interruptable.   The default is that YES it is interruptable.   However, if
  4989.      the SYSOP feels too many people are bypassing it and it contains  essential
  4990.      information,  the SYSOP can set this parameter to NO (i.e. the user can not
  4991.      suspend or cancel the listing of this file at their  terminal with a CTRL S
  4992.      or  CTRL K).
  4993.  
  4994.      Parameter  28  is  intended to allow the SYSOP to indicate if   the  system
  4995.      bulletins are to be optional for users when they log on.   If bulletins are
  4996.      optional, callers can  elect to automatically  bypass old bulletins and  be
  4997.      notified only when  there are new bulletins.   RBBS-PC will check  the file
  4998.      date of  the bulletins and inform the caller which are new, with the option
  4999.      to read  all of  the new  bulletins.  If  none are  new when  bulletins are
  5000.      optional, the bulletins will be automatically bypassed.
  5001.  
  5002.      Parameter  29 is designed to allow RBBS-PC  to run on some "IBM-compatible"
  5003.      PC's  that make use  of   unused interrupts  or on the  IBM PCjr.   RBBS-PC
  5004.      checks to see if the unused interrupt X'7F' is non-zero.  If it is, RBBS-PC
  5005.      thinks that the software product, MultiLink  (from The Software Link, Inc.)
  5006.      is present and issues  the appropriate MultiLink calls.   Obviously if this
  5007.      is not the  case, strange and unpredictable  things happen which  result in
  5008.      RBBS-PC not working.  The COMPAQ+ is an example of this syndrome.
  5009.  
  5010.      If  running RBBS-PC on an IBM  PCjr using an external  modem but without an
  5011.      internal modem, the communications port must be opened as COM1 even  though
  5012.  
  5013.      RBBS-PC CPC17-2A                                                Page 104
  5014.  
  5015.      RBBS-PC  must   use  the   COM2  RS-232   registers  for   controlling  the
  5016.      communications port.
  5017.  
  5018.      Parameter 30, parameter  31, parameter 32,  parameter 33, and parameter  34
  5019.      let the SYSOP  change what symbols  are used for  each RBBS-PC function  by
  5020.      substituting a  new letter.     Additionally,  a  space substituted  for  a
  5021.      command  will disable that command, in effect  removing it from the system.
  5022.      SYSOPs with no DOORS may wish to disable  D rather than to confuse users by
  5023.      displaying options not available.  All commands displayed to callers in the
  5024.      command prompt will be in sorted order.
  5025.  
  5026.      Parameter 35 allows  the section name to precede the command prompt that is
  5027.      displayed  when a caller is  asked to enter a command.   The command prompt
  5028.      begins with <section>,  where <section>  is MAIN,  FILE, or  UTIL, if  this
  5029.      option is selected.   Otherwise, the prompt will begin with YOUR.  Normally
  5030.      the section in  the prompt helps the  caller remember where he is,  but see
  5031.      section 8 for reasons to suppress the section.
  5032.  
  5033.      Parameter  36 allows the  SYSOP to not  display the commands  to the caller
  5034.      when waiting for the user to enter a command. The default in RBBS-PC is  to
  5035.      remind the caller  what commands are available  by giving a sorted  list of
  5036.      the letters used for each command at the  end of the command prompt.  RBBS-
  5037.      PC shows only the commands available in the section that the caller  is in.
  5038.      If  the SYSOP chooses  not to display the  section a user  is in, there are
  5039.      more commands available than will be shown in the prompt.
  5040.  
  5041.      RBBS-PC supports a  "wrap-around" search  for valid commands.   This  means
  5042.      that when a command is not found in the current section, other sections are
  5043.      then  searched.    The order  of  search  is  MAIN->FILE->UTIL->LIBR.   For
  5044.      example,  if  L is  picked when  in  the main  section,  where there  is no
  5045.      command, the L)ist command in the file section will be executed.  Parameter
  5046.      37 lets the SYSOP turn this wrap-around  search and not execute commands in
  5047.      other  sections.   Wrap-around is required  if the  SYSOP want's to  have a
  5048.      single command line (i.e. not have the "Utility" and "File" subsystems).
  5049.  
  5050.      Parameter 38 allows the SYSOP to elect  to use machine language subroutines
  5051.      (rather  than the  BASIC routines)  for  a few  of the  more  commonly used
  5052.      subroutines.  These may only be functional within a DOS that is supplied by
  5053.      IBM (rather than Microsoft).  Therefore this is optional.  If you encounter
  5054.      problems, simply elect to  utilize the BASIC routines  which are much  more
  5055.      likely to be compatible  in configurations that have hardware  and software
  5056.      operating  environments   significantly  different   from  the   "baseline"
  5057.      configuration  in which  RBBS-PC is tested.   In  most cases  the assembler
  5058.      routines are much faster than their  BASIC counterparts, especially in file
  5059.      searches.
  5060.  
  5061.      Parameter 39 allows  the SYSOP to elect  to use the BASIC  language's PRINT
  5062.      statement to write to the  screen of the PC that  RBBS-PC is being run  on.
  5063.      This is sometimes  necessary in "hostile" environments  (i.e. multitasking,
  5064.      special screen  drivers, etc.) where the  use of RBBS-PC's  default call to
  5065.      the RBBS-PC screen driver ANSI is not viable.
  5066.  
  5067.      Parameter 40 is the maximum number of  lines that can be used to describe a
  5068.      file that was uploaded.  It is the number of lines (beyond 1) that a caller
  5069.      can  enter when describing a  file that was  uploaded.  It  applies to both
  5070.      single FMS directories and non-FMS directories.
  5071.  
  5072.      RBBS-PC CPC17-2A                                                Page 105
  5073.  
  5074.      11.3 Global RBBS-PC Parameters (Part 3 of 3)
  5075.      --------------------------------------------
  5076.      Parameter  41  and parameter  42  determine  how callers  are  going  to be
  5077.      uniquely identified  when  they log  on.   The  default  in RBBS-PC  is  to
  5078.      concatenate first and  last name to  form name.   Parameter 41 lets  SYSOPs
  5079.      choose  another field  as user  ID.   A field  is specified  by  giving its
  5080.      starting position  and  length in  the  user file,  and  a prompt  must  be
  5081.      supplied  which will  be used  when asking  for user ID.   BE  VERY CAREFUL
  5082.      CHANGING THIS PARAMETER.   Parameter 45 and parameter 46 allow the SYSOP to
  5083.      specify a  name to  be used when  prompting the  user for  the field  (i.e.
  5084.      ACCOUNT #).   See section 9 for  additional details.  RBBS-PC  assumes that
  5085.      name is being used whenever the ID begins in column 1.
  5086.  
  5087.      Parameter 42 lets  a field be  specified that will  be used to  distinguish
  5088.      callers with the same ID.  Like with ID, the beginning  column, length, and
  5089.      prompt must be  specified.  RBBS-PC defaults to  no individuation, which is
  5090.      specified  by setting  the beginning column  to 0.   Activating this option
  5091.      forces users to give additional information when they log on, since both ID
  5092.      and individuation value have to be given.  See section 9 for details on how
  5093.      to use this option.
  5094.  
  5095.      Parameter 43 and  parameter 44 inform RBBS-PC  the field and the  length of
  5096.      the  field  in the  USERS record  to  use when  determining if  a "personal
  5097.      download" exists for  this person.  Parameter 43 indicates  where the field
  5098.      begins in the USERS record -- the default is  position 1 (the user's name).
  5099.      Parameter  44  indicates how  long the  field  to match  against is  -- the
  5100.      default is 31 (the maximum  length of a user's name).   The entries in  the
  5101.      personal download directory must have exactly this many bytes at the end --
  5102.      plus one (for the flag used to indicate if the file has been download).   
  5103.  
  5104.      Parameter 45 and parameter 46 allow the SYSOP to specify the description of
  5105.      what is  asked for  that is  placed in the  first 31  bytes of  each user's
  5106.      record.  When identifying to whom a message is to/for  it is these 31 bytes
  5107.      that are  matched against.  However, these prompts  can be changed from the
  5108.      default "FIRST name" for parameter 45 to  "REAL FIRST name" or even "DEALER
  5109.      number".  Similarly  the default  for parameter  46 could  be changed  from
  5110.      "LAST name" to "ZIP code".
  5111.  
  5112.      Parameter 47  allows the user  to enforce upload  to download ratios.   See
  5113.      section 16 for  a discussion of the  flexibility each RBBS-PC SYSOP  has in
  5114.      specifying these  ratios.  Sections 16.3  and 16.4 describe in  more detail
  5115.      the format necessary  to use in the password file in order to utilize which
  5116.      users/security levels are to have upload and download ratios applied.
  5117.  
  5118.      Parameter 48, parameter 49,  parameter 50, and parameter 51  address access
  5119.      control via the automatic RBBS-PC subscription management facilities. For a
  5120.      detailed  discussion   of  RBBS-PC's   automatic  subscription   management
  5121.      facilities,  see  section  10.  Parameter  48  means that  access  will  be
  5122.      controlled  by subscription dates,  and persons with  expired subscriptions
  5123.      will get  reduced privileges.  Parameter  49 is the  security level callers
  5124.      get   after  their   subscription  expires.      Typically  this   security
  5125.      significantly  reduces what  a  caller  is allowed  to  do.   Parameter  50
  5126.      specifies when callers are to be warned in  advance that their subscription
  5127.      is about to  expire.  This warning is based on  the number of days before a
  5128.      subscription expires.  Parameter 51 specifies the number of days a new user
  5129.      gets in the subscription period.
  5130.  
  5131.      Parameter 52 determines if RBBS-PC  is to avoid writing to the printer.  On
  5132.      some networks any  attempt to  write to  a printer can  generate a  spooler
  5133.      error that hangs the node.  Setting this parameter to "YES" guarantees that
  5134.  
  5135.      RBBS-PC CPC17-2A                                                Page 106
  5136.  
  5137.      RBBS-PC doesn't write to the printer.
  5138.  
  5139.      Parameter 53 causes RBBS-PC to play musical themes for auditory feedback on
  5140.      what is happening  on a board.   This can be important for  SYSOPs that are
  5141.      sight impaired.  These musical themes are "played" on the speaker of the PC
  5142.      that is running RBBS-PC.  The themes are not transmitted to the caller.
  5143.  
  5144.      Parameter 54 is the buffer used  internally by RBBS-PC when displaying text
  5145.      files such as menus, directories of files,  etc.  A SYSOP can set parameter
  5146.      218 to either minimize memory usage  or optimize speed.  It is the  size of
  5147.      the internal buffer that RBBS-PC uses to read in most text files, including
  5148.      menus  and can range from 32  bytes to 4096 bytes.   The bigger the buffer,
  5149.      the fewer disk  accesses necessary to display  the file and the  faster the
  5150.      display  will  be.    The  default  of  128  is  the  minimum  recommended.
  5151.      Increasing this to 512 will increase the speed of text displays.    However
  5152.      in some environments  where it is important to  respond quickly to XON/XOFF
  5153.      control, this should be set to the minimum of 32.
  5154.  
  5155.      Parameter 55  allows RBBS-PC to dynamically  set the "stack space"  used by
  5156.      the code generated by the BASIC compiler.   In QuickBASIC 3.0, the compiler
  5157.      used to generate RBBS-PC's .EXE file, and IBM's BASIC Compiler  Version 2.0
  5158.      this is the total stack space.  In  later releases of QuickBASIC, it is the
  5159.      ADDITIONAL  stack  space  beyond  which  BASIC  normally  allocates.    The
  5160.      recommended  value  is  1024, if  RBBS-PC  is  running  in a  multi-tasking
  5161.      environment under DOS.   However, in order to decrease memory  demands this
  5162.      can be made smaller.
  5163.  
  5164.      Parameter 56 is not implemented in RBBS-PC.
  5165.  
  5166.      Parameter 57, like parameter 45  and parameter 46, is used when  a new user
  5167.      logs on  to the system for  the first time.   Instead of asking  a user for
  5168.      their  City and State, a  SYSOP can request such  things as their area code
  5169.      and telephone number.
  5170.  
  5171.      Parameter  58 allows  the SYSOP  to configure  RBBS-PC such  that the  file
  5172.      directories are shown  in sorted order whenever  a caller simply lists  the
  5173.      directory of directory.
  5174.  
  5175.      Parameter 59 allows the SYSOP to configure RBBS-PC such that the "internal"
  5176.      RBBS-PC protocols use as large (or as  small) a buffer size when writing to
  5177.      disks (i.e. for  uploads).  The allowable  range is from 128  characters to
  5178.      8,192 characters.
  5179.  
  5180.      Parameter  60  indicates that  Computalker  (B.G. MICRO,  P.O.  Box 280298,
  5181.      Dallas,  Texas  75228) or  HEARSAY 1000  (HEARSAY  Inc., 1825  74th Street,
  5182.      Brooklyn,  N.Y. 11204)  speech boards  are  to be  supported.   This  is in
  5183.      support of the  sight impaired SYSOPS.   These  two particular boards  were
  5184.      selected since they  were available from John  Lasley. (John is a  SYSOP in
  5185.      Minneapolis, MN).
  5186.  
  5187.      To support as many speech boards as possible in  the future, RBBS-PC uses a
  5188.      64 entry file (RBBSTALK.DEF) to contain  SYSOP-defineable fields.  The file
  5189.      is accessed randomly with fixed-length 32 byte records.  The last two bytes
  5190.      must  contain CR/LF  leaving 30 bytes  available for  the verbage.   The 64
  5191.      records are predefined and used by RBBS-PC as follows:
  5192.  
  5193.           1 = LOGON USER MESSAGE
  5194.           2 = MAIN MENU PROMPT
  5195.           3 = FILES MENU PROMPT
  5196.           4 = UTILITY MENU PROMPT
  5197.  
  5198.      RBBS-PC CPC17-2A                                                Page 107
  5199.  
  5200.           5 = DOOR MENU PROMPT
  5201.           6 = LIBRARY MENU PROMPT
  5202.           7 = LOGOFF MESSAGE
  5203.           8 = DOWNLOAD PROMPT
  5204.           9 = UPLOAD PROMPT
  5205.          10 = TIME REMAINING PROMPT
  5206.          11 = WELCOME BACK PROMPT
  5207.          12 = CONFERENCE MENU PROMPT
  5208.          13-64 available for future enhancements
  5209.  
  5210.  
  5211.      Smarttext IS supported in the RBBSTALK.DEF records.
  5212.  
  5213.      The CompuTalker requires the use of one of the COM ports.  With CPC17-2A it
  5214.      is supported on  COM2.  CPC17-2A  does not  check to see  if COM2 was  also
  5215.      selected for CONFIG parameter 221.  
  5216.  
  5217.      RBBS-PC CPC17-2A                                                Page 108
  5218.  
  5219.      11.4 Parameters for RBBS-PC System Files (part 1)
  5220.      -------------------------------------------------
  5221.      Parameter  61 specifies the  name of text file  that is shown  to a user if
  5222.      bulletins are not  optional (see parameter 28)  or if the user  replies "L"
  5223.      when notified of how many bulletins exist.  This file should contain a list
  5224.      of the  bulletins (i.e.  1-99)  and a  brief  one-line description  of  the
  5225.      contents of each (e.g. "New Release of RBBS-PC").
  5226.  
  5227.      Parameter 62 allows a SYSOP to have from 0 to 99 "bulletins."  If there are
  5228.      0 bulletins  a user  is notified that  there are  no bulletins.   Bulletins
  5229.      should  be brief, informative, and  timely.  I  personally think that there
  5230.      should be very few bulletins and that they should be changed often if users
  5231.      are  to  be enticed  to  look at  them.   If  you  make bulletins  optional
  5232.      (parameter 28) RBBS-PC will  automatically bring new ones to  the attention
  5233.      of each caller when they log on.
  5234.  
  5235.      Parameter 63 provides the SYSOP with the  flexibility to make the prefix of
  5236.      the bulletins anything he wants (i.e. BULLET).  To this is added the number
  5237.      (e.g.  BULLET7 for  bulletin number  7) and  the disk  drive designated  in
  5238.      parameter 61 is searched for  the bulletin number requested when some  asks
  5239.      to see a bulletin.  If the file is not found, the user is so informed. If a
  5240.      "graphics" equivalent  is  found  and the  user  has signed  on  N/8/1  and
  5241.      requested graphics, the  graphics version  of the bulletin  is displayed  -
  5242.      BULLET7G  (i.e.  contains  characters with  values  of  0  through 255)  or
  5243.      BULLET7C (i.e.  contains characters  with values  of 0  through 128  which,
  5244.      hopefully, are ANSI screen commands).
  5245.  
  5246.      Parameter 64  indicates the  disk drive  and path  on which  RBBS-PC is  to
  5247.      search for to find RBBS-PC's on-line "help"  files whenever a user asks for
  5248.      help within a specific subsystem.   This is where the help  files should be
  5249.      stored.
  5250.  
  5251.      There are some specific help files used  by RBBS-PC whose name is simply  a
  5252.      help  prefix  plus  a number.    The SYSOP  may  elect to  call  the prefix
  5253.      something other than the default of "HELP0".  Parameter 65 allows the SYSOP
  5254.      to  pick up  to  a seven-character  prefix  to which  the  numbers will  be
  5255.      appended.   This file  name is  what RBBS-PC  will look  for  on the  drive
  5256.      specified  in parameter 64  when a  user asks  for help  on-line.   As with
  5257.      "bulletins", if a "graphics" equivalent is found and the user has signed on
  5258.      N/8/1 and  requested graphics,  the graphics  version of  the help file  is
  5259.      displayed (i.e. HELP07G).
  5260.  
  5261.      RBBS-PC identifies  help for  a  particular command  by the  letter of  the
  5262.      section and  the letter  of the  command, plus  an extension  for the  help
  5263.      files.  The extension "HLP"  is the default but parameter 66 lets the SYSOP
  5264.      set this to whatever desired.
  5265.  
  5266.      Parameter 67 is the name of the file that is displayed to a caller when the
  5267.      caller is requested to categorize a file that has been uploaded.   RBBS-PC'
  5268.      File Management  System can be configured to minimize the activities of the
  5269.      SYSOP by allowing  users to categorize the  files that are uploaded.   This
  5270.      file should  list the names of the categories  that an uploader can select.
  5271.      It should be stored on the same drive and path as the other help files. The
  5272.      category selected will be validated to make sure that it  is in the list in
  5273.      DIR.CAT  or  that a  valid  category  file  with  that name  exists.    The
  5274.      appropriate category code will be written  out to the shared FMS  directory
  5275.      if the  FMS system is  active.  If the  FMS system is  not being used  or a
  5276.      separate .DIR  file with  the category  name exists  (e.g. GAMES.DIR),  the
  5277.      description of the entry for the upload will be appended to the .DIR file.
  5278.  
  5279.      RBBS-PC CPC17-2A                                                Page 109
  5280.  
  5281.      Parameter 68 allows the SYSOP to select any name for the text file that new
  5282.      users see when they  first log on and before they  "register" themselves in
  5283.      RBBS-PC's USERS file.  A user  sees it once and only once during  his first
  5284.      session.  It can contain  anything you want it to, but  a brief explanation
  5285.      of your Board's purpose, "rules", etc. might be appropriate.
  5286.  
  5287.      Parameter 69  allows the SYSOP  to select any  name for the text  file that
  5288.      each user sees EVERY time AFTER they log on.   Keep it brief!  RBBS-PC will
  5289.      look for a "graphics" equivalent if the user qualifies for graphic displays
  5290.      (i.e.  it will display  the file HELLOG or  HELLOC in lieu  of HELLO).  The
  5291.      default name for this file is WELCOME.
  5292.  
  5293.      Parameter 70, parameter 71,  parameter 72, parameter 73, parameter  74, and
  5294.      parameter 75 focus  on the text files  that RBBS-PC displays to  novices as
  5295.      "menus."   Menu  files  shown to  novices tend  to be  frequently accessed.
  5296.      Systems that do  not have disk caching  should consider putting menus  in a
  5297.      RAM disk in order to cut down on the wear and tear of your disk drives.
  5298.  
  5299.      Parameter 70 allows any valid  name to be given to the text file containing
  5300.      the commands allowed those with SYSOP privileges.  
  5301.  
  5302.      Parameter  71  allows  the SYSOP  to  specify  the name  of  the  text file
  5303.      containing the menu of commands available  to those in the main  "messages"
  5304.      subsystem.
  5305.  
  5306.      Parameter  72  allows the  name of  the  text file  containing the  menu of
  5307.      commands available to  those in the "files" subsystem to be any valid name.
  5308.  
  5309.      Parameter  73  allows the  name of  the  text file  containing the  menu of
  5310.      commands available  to those in the  "utilities" subsystem to be  any valid
  5311.      name.
  5312.  
  5313.      Parameter  74 is  the  name of  the  text file  listing  the  names of  the
  5314.      conferences that are available.  Conference names  must be seven-characters
  5315.      or less, in all caps, and cannot have any character to the left or right of
  5316.      the  name except  possibly  a space.    The SYSOP  must  already have  pre-
  5317.      formatted the messages and users files associated with the conferences (see
  5318.      section 18).
  5319.  
  5320.      Parameter 75 allows the SYSOP to name  the text file containing the list of
  5321.      the questionnaires, surveys, or forms which callers can fill out and answer
  5322.      on-line.   The scripting  support built  into RBBS-PC  allows the  SYSOP to
  5323.      construct a series of questions to be presented  to the caller and save the
  5324.      answers.   Questionnaire  names must  be eight characters  or less,  in all
  5325.      caps, and cannot have any character to the left or right of the name except
  5326.      possibly a space.   Of course, the  actual file name for the  script has an
  5327.      extension of ".DEF".   Thus, a questionnaire called SURVEY would  appear in
  5328.      the  text file identified in Parameter  75 as SURVEY, preceded and followed
  5329.      by at least one blank character, and exist as a file named SURVEY.DEF.
  5330.  
  5331.      Parameter 76  allows the  SYSOP to  specify the  drive and  path where  the
  5332.      optional questionnaires will be located.
  5333.  
  5334.      If the file  specified in parameter 77 exists, RBBS-PC will assume that the
  5335.      SYSOP is using RBBS-PC's "Programmable User Interface" (PUI) -- see section
  5336.      8 for a fuller description of RBBS-PC's PUI.
  5337.  
  5338.      Parameter 78  allows the  SYSOP to  elect to  have RBBS-PC  have full  page
  5339.      control.  By this it is meant  that all displays will be interrupted  after
  5340.      the number of lines set by the user for his "page length" have been written
  5341.  
  5342.      RBBS-PC CPC17-2A                                                Page 110
  5343.  
  5344.      to the user's screen.  This, on occasion, may mean that menus will pause in
  5345.      the middle with a prompt waiting for the user to hit enter.   The advantage
  5346.      of allowing this  to happens means that no information on the user's screen
  5347.      will "scroll off" the  top of the screen.   The disadvantage is  that menus
  5348.      may not be viewed in their entirety.  Replying "NO" to this parameter means
  5349.      that menus will be fully displayed on a single screen, but some information
  5350.      that preceded the menus may scroll off the top of the screen.
  5351.  
  5352.      Parameter 79 and  parameter 80 allow the drive, path name, and extension to
  5353.      be used for RBBS-PC "macros".  See section 8.8 for a fuller  description of
  5354.      RBBS-PC extensive "macro" capabilities.
  5355.  
  5356.      RBBS-PC CPC17-2A                                                Page 111
  5357.  
  5358.      11.5 Parameters for RBBS-PC System Files (part 2)
  5359.      -------------------------------------------------
  5360.      Parameter 81 is the name of the text file (TRASHCAN) listing names that the
  5361.      SYSOP considers inappropriate.  This file is used when a new user signs on.
  5362.      The new users  first and last name  are each individually   checked against
  5363.      the names in this file, as well as the entire name.
  5364.  
  5365.      The format of this file is as follows:
  5366.  
  5367.      <name>,
  5368.  
  5369.      An example of such a file would be:
  5370.  
  5371.      BITE,
  5372.      BYTE,
  5373.      PAPA DOC,
  5374.      DOCTOR,
  5375.      DEATH,
  5376.      GLADIATOR,
  5377.      KILLER,
  5378.      MAN,
  5379.      THE
  5380.  
  5381.      The  comma  is  optional after  each  name.    However,  it  does  help  in
  5382.      delineating exactly  what character  strings are  being searched   for  and
  5383.      compared against  (some text  editors  may add  extraneous and  non-visible
  5384.      characters to a line).   All names should be UPPER CASE!  If you create the
  5385.      file using IBM's  standard DOS text editor,  EDLIN, each line may  end with
  5386.      either a comma  or a carriage return.   If you  create the file using  COPY
  5387.      CON, each line  should end with a  carriage return (i.e. the  "enter" key).
  5388.      The last line (when using    COPY CON) should end with a Control Z, F6, and
  5389.      then carriage return. BASIC will treat either  a comma or a carriage return
  5390.      as a  field delimiter.   You need a  field delimiter following each  of the
  5391.      names.   If the above file  existed, any new  user who logged and  used the
  5392.      following names would be denied access:
  5393.  
  5394.      Byte Killer
  5395.      Kilo Man
  5396.      Doctor Death
  5397.      PC Doctor
  5398.      Pappa Doctor
  5399.  
  5400.      but "Hoppa Papa" would be fine.
  5401.  
  5402.      Parameter 82  lets the SYSOP  force a questionnaire  to be answered  by all
  5403.      callers, old and new, exactly once.    RBBS-PC records in the users  record
  5404.      when the required  questionnaire is answered  so that it  will not ask  the
  5405.      caller again.  Parameter 186 lets the SYSOP reset the flag back to off  for
  5406.      all  users.   This should be  done when  the SYSOP  wants to install  a new
  5407.      required  questionnaire   to  be  used  to  survey  all  callers.    If  no
  5408.      questionnaire is required, this parameter can be specified as NONE.
  5409.  
  5410.      Parameter 83 allows the SYSOP to specify  the name of the file that will be
  5411.      displayed as soon as carrier is detected and BEFORE a user can log on.   It
  5412.      is  displayed immediately  after  the name  of  the RBBS-PC  is  shown (see
  5413.      parameter 12).   SYSOPs should use "PRELOG"  to convey such  information as
  5414.      whether  real  names are  required, 300  baud  users will  automatically be
  5415.      denied access, etc.
  5416.  
  5417.      RBBS-PC  provides a sophisticated,  script-driven capability that  allows a
  5418.  
  5419.      RBBS-PC CPC17-2A                                                Page 112
  5420.  
  5421.      SYSOP to ask  new users questions or  questions of all users  when they say
  5422.      G>oodbye.   Parameter 84 allows the SYSOP  to specify the file  name of the
  5423.      script of questions to ask new users.
  5424.  
  5425.      Parameter 85  allows the SYSOP  to specify the  file name of  the script of
  5426.      questions (if any) to ask users when they say G>oodbye.  The  SYSOP can set
  5427.      up the script so as to raise or  lower a new users security level based  on
  5428.      the answers.   Contained within these scripts is the file name to which the
  5429.      answers are to be written.  
  5430.  
  5431.      Parameter 86 allows the SYSOP to specify the file name for the file used by
  5432.      RBBS-PC to hold the messages on the bulletin board.  This file can NOT have
  5433.      an extension because RBBS-PC appends the  extension ".BAK" to the file name
  5434.      when "packing" the messages file.
  5435.  
  5436.      NOTE: Read  section 19 if you want to include  the main message file in the
  5437.      scan for conference mail waiting.
  5438.  
  5439.      RBBS-PC  keeps a profile of each  user who logs on  in a "user record" (see
  5440.      Appendix A for a layout of this record).  Parameter 87 allows the SYSOP  to
  5441.      specify  the file name for this file.   This file can NOT have an extension
  5442.      because  RBBS-PC  appends  the  extension  ".BAK"  to the  file  name  when
  5443.      "packing" the users file.
  5444.  
  5445.      Instead of leaving a "message",  a user may leave  a comment for the  SYSOP
  5446.      that is  readable only  by the  SYSOP.  Parameter  88 allows  the SYSOP  to
  5447.      specify  the fully  qualified name for  the file  used by RBBS-PC  to store
  5448.      users' comments.
  5449.  
  5450.      Parameter 89 allows the SYSOP to have comments recorded as private messages
  5451.      to him  in the main messages file providing there is any room.  This allows
  5452.      replies to comments to be done much more easily. 
  5453.  
  5454.      RBBS-PC maintains  a log of user activity on a "callers" file.  It contains
  5455.      information on the date, time, communications  parameters of who logged on;
  5456.      what they uploaded  or downloaded;  and any security  violations or  errors
  5457.      that were generated.   Parameter 90 allows  the SYSOP to specify  the fully
  5458.      qualified name for the file that RBBS-PC uses for this log.
  5459.  
  5460.      If parameter 91 is  selected, additional items of  information are included
  5461.      in the CALLERS file:
  5462.  
  5463.           1) "Connect not completed"         9) "Left comment at time"
  5464.           2) "Sleep disconnect"              10) "Logged off at time"
  5465.           3) "Caller changed name/address"   11) "Carrier dropped at time"
  5466.           4) "Newuser"                       12) "Message # xxxx left at"
  5467.           5) "Bulletin x read"               13) "Read Messages ..."
  5468.           6) "SYSOP initiated Chat"          14) "Answered questionnaire xxx"
  5469.           7) "Entered Conference/Subboard x"     15) "Killed msg # xxxx"
  5470.           8) "Time limit exceeded"
  5471.  
  5472.      It should be remembered that for each occurrence of the above,  the CALLERS
  5473.      file will increase by 64 bytes.  Unless you  either have a hard disk or are
  5474.      willing to frequently  maintain your system  in order to leave  enough free
  5475.      space  on  the disk  drives  for  new  files,  this option  should  NOT  be
  5476.      activated. 
  5477.  
  5478.      Parameter 92 has not been implemented in RBBS-PC.
  5479.  
  5480.      Parameter 93 allows the file name  to be specified for the file  containing
  5481.  
  5482.      RBBS-PC CPC17-2A                                                Page 113
  5483.  
  5484.      the information on the conferences that are to be scanned for  mail waiting
  5485.      when a  user logs  on.   The format  of this  file and  the flexibility  it
  5486.      affords the RBBS-PC SYSOP is described more fully in section 19.
  5487.  
  5488.      Parameter  94 allows the  SYSOP to specify  the maximum number  of "working
  5489.      variables" that RBBS-PC should support in the questionnaires and macros.  A
  5490.      "working variable" is simply a place in which RBBS-PC can store  a response
  5491.      or a  set of characters.   These  "working variables" can  then be  used to
  5492.      create parameters  that  can be  passed to  "DOOR"s (see  section 15.4)  or
  5493.      written out to data bases (see section 8.8.4).
  5494.  
  5495.      RBBS-PC CPC17-2A                                                Page 114
  5496.  
  5497.      11.6 Parameters for RBBS-PC "Doors"
  5498.      -----------------------------------
  5499.      Parameter 101 allows  the SYSOP to enable RBBS-PC to exit and return to the
  5500.      system (i.e. DOS).   You will also be asked if you  will be running "doors"
  5501.      with MultiLink.   If you  reply yes, you  may choose what  type of terminal
  5502.      MultiLink is  to assume the user  is using when  MultiLink receives control
  5503.      from RBBS-PC.  See the MultiLink manual for the various terminal types.  If
  5504.      you choose terminal type  zero, MultiLink will not be given  control of the
  5505.      communications port  when RBBS-PC exits  to the "door."   Use this  if your
  5506.      application is coded  to control the  communications port.  The  batch file
  5507.      out of which RBBS-PC is invoked should then check  to see if a "door" is to
  5508.      be invoked.   A "door"  is simply a batch  file that the  SYSOP has created
  5509.      which RBBS-PC users are allowed to exit to and which will then take control
  5510.      of the remote users communication port.
  5511.  
  5512.      Parameter 102 allows the SYSOP to specify the fully qualified file  name of
  5513.      the menu that lists the  names of the "doors" available to  users.  RBBS-PC
  5514.      checks  this file  to  verify that  the  name of  the  door that  the  user
  5515.      requested is in the doors menu (see section  15).  A door name in the  menu
  5516.      must have  8 or fewer  characters, be in  all caps, and the  only character
  5517.      that can occur immediately before and after the name is a space.
  5518.  
  5519.      Parameter 103 allows the SYSOP to specify  the fully qualified file name of
  5520.      the file  that RBBS-PC is  to use when  dynamically building the  .BAT file
  5521.      that invokes the "door" selected by the user.   The batch file that invokes
  5522.      RBBS-PC must contain an  "IF" to check if this file  exist whenever RBBS-PC
  5523.      terminates and (if it exists) to execute it (see section 14).  This is also
  5524.      the same file name that is used when the SYSOP exits to DOS.
  5525.  
  5526.      When a door finishes RBBS-PC is re-invoked.  Parameter 104 allows the SYSOP
  5527.      to specify the fully  qualified file name of the  .BAT file that should  be
  5528.      used  to re-invoke RBBS-PC (see  section 14 and section  15).  This is also
  5529.      the same file name that is used when the SYSOP returns from exiting to DOS.
  5530.  
  5531.      Whenever a remote user  exits to a "door" or  to DOS (via the remote  SYSOP
  5532.      function 7), RBBS-PC needs to know where to find COMMAND.COM.  In a network
  5533.      environment with several PC's  the COMMAND.COM's may be different  for each
  5534.      PC.  Parameter 105 allows the SYSOP to specify for the each copy of RBBS-PC
  5535.      a disk drive and path on which to find the COMMAND.COM appropriate for that
  5536.      copy of RBBS-PC.
  5537.  
  5538.      Parameter 106  allows  the SYSOP  to elect  how I/O  is  redirected to  the
  5539.      communications port  when dropping to DOS as  a remote SYSOP (command "7").
  5540.      When configuring RBBS-PC you may select to  have the I/O redirected  either
  5541.      via  the  standard  DOS "Change  Console  Command"  (CTTY),  or having  DOS
  5542.      redirect standard  I/O (">" or "<").  This  parameter allows you to specify
  5543.      if the  redirected output is  to be  handled by a  special device  named in
  5544.      CONFIG.SYS.   If you don't  elect to use  a special device  driver, RBBS-PC
  5545.      will redirect the  output directly to  the communications port by  building
  5546.      the command "CTTY COMx"  or ">COMx and <COMx"  , where "x" is based  on the
  5547.      communications port the node was configured  for.  If you specify the  name
  5548.      of a  device driver, it should also be in the CONFIG.SYS of the system that
  5549.      RBBS-PC is running on.  As an  example, if you specified a device driver of
  5550.      GATE, RBBS-PC would build the command CTTY GATE.
  5551.  
  5552.      Parameter 107 specifies the name  of a program (i.e. an .EXE  or .COM file)
  5553.      that  control is  to temporarily to  be passed  through when the  caller is
  5554.      determined  to be a  new user.   When this .EXE  or .COM  file finishes and
  5555.      RBBS-PC  is   re-invoked,  the   RBBS-PC  logon   sequence  will   continue
  5556.      uninterrupted from the point at which the caller was determined to be a new
  5557.  
  5558.      RBBS-PC CPC17-2A                                                Page 115
  5559.  
  5560.      user.  This feature is  intended for those who feel the need  to perform an
  5561.      extensive verification of new user's that is  not met by RBBS-PC's built in
  5562.      scripting capability  or automatic  subscription functions.   This  feature
  5563.      allows those SYSOPs who have the need to reference membership lists, verify
  5564.      political  affiliation, interrogate blood type,  or "qualify" new users via
  5565.      whatever criteria seems expedient  to their needs/purposes in any  way they
  5566.      wish simply by writing a program external to RBBS-PC.
  5567.  
  5568.      Parameter 108 allows the  external program designated via parameter  107 to
  5569.      be  invoked for  not only  new  callers, but  also for  callers who  have a
  5570.      security  level equal  to  or less  than  the security  level  specified in
  5571.      parameter 108.
  5572.  
  5573.      Parameter 109 allows the  SYSOP to invoke "DOORS" via a  control file.  The
  5574.      control file has 8 parameters that are separated by commas.   The format is
  5575.  
  5576.      1.  Name of door - up to 8 characters
  5577.      2.  Minimum security to use door
  5578.      3.  Questionnaire to execute before the door
  5579.      4.  Method to invoke doors - "S"  for shelling, else go to .BAT file 5.    
  5580.      Template for  invoking door  - make  sure  the first  word has  a file     
  5581.      extension - RBBS-PC will check for existence of the first word as file.
  5582.      6.  Whether ask for password on return -  Y is yes, anything else bypasses 
  5583.        password check
  5584.      7.  File to display after the door
  5585.      8.  Maximum  time allowed in doors  - time remaining passed  to door is    
  5586.      reduced if max time is less.
  5587.  
  5588.      Note:  RBBS-PC normally passes the node id  as the 1st parameter to a door.
  5589.      If a template  is used, RBBS-PC will not automatically add this parameter. 
  5590.      If you want it, you should include "[NODE]" in the template.  Special note:
  5591.      A door must still have a .BAT file in order to be invoked,  even if the BAT
  5592.      file  is not  used in  the template!   A control  file is  optional.    The
  5593.      default name is DOORS.DEF. 
  5594.      Example #1:
  5595.  
  5596.      Given:
  5597.      1.  Name of the "DOOR" is "KEYCHK"
  5598.      2.  Minimum security a caller must have to use the "DOOR" is 4.
  5599.      3.  Questionnaire users must answer prior to entering the "DOOR" is
  5600.          C:\RBBS\GET3RD.DEF
  5601.      4.  The "DOOR" is to be invoked by EXITing.
  5602.      5. The template to  use is designed to invoke  a .BAT file and pass two    
  5603.      different responses acquired from  the questionnaire when the .BAT file    
  5604.      is invoked.
  5605.      6.  Returning from the "DOOR" the caller need not reenter their password.
  5606.      7.  The caller is to be shown the file "KEYCHK.FIL" when the "DOOR" ends.
  5607.  
  5608.      The control file would have the following line in it:
  5609.  
  5610.      KEYCHK,4,C:\RBBS\GET3RD.DEF,D,"RUNKEY.BAT [1] [2]",N,KEYCHK.FIL,
  5611.  
  5612.      Example #2:
  5613.  
  5614.      Given:
  5615.      1.  Name of the "DOOR" is "SKYCHK"
  5616.      2.  Minimum security a caller must have to use the "DOOR" is 10.
  5617.      3.  Questionnaire users must answer prior to entering the "DOOR" is
  5618.          C:\RBBS\GET3RD.DEF
  5619.      4.  The "DOOR" is to be invoked by SHELLing.
  5620.  
  5621.      RBBS-PC CPC17-2A                                                Page 116
  5622.  
  5623.      5. The template to use is designed to  invoke a .BAT file and pass two     
  5624.       different responses acquired from the questionnaire when  the .BAT file   
  5625.       is invoked.
  5626.      6.  Returning from the "DOOR" the caller must reenter their password.
  5627.      7.  The caller is to be shown the file "KEYCHK.FIL" when the "DOOR" ends.
  5628.  
  5629.      The control file would have the following line in it:
  5630.  
  5631.      SKYCHK,10,C:\RBBS\GET3RD.DEF,S,"RUNKEY.BAT [1] [2]",Y,KEYCHK.FIL,
  5632.  
  5633.      RBBS-PC CPC17-2A                                                Page 117
  5634.  
  5635.      11.7 Parameters for RBBS-PC's Security (part 1)
  5636.      -----------------------------------------------
  5637.      Parameter 121 is  the first and last  name alias (i.e. pseudonym)  that the
  5638.      SYSOP will use when logging on remotely.  It is this alias name that causes
  5639.      RBBS-PC to recognize  the remote caller as the SYSOP and  not simply a user
  5640.      with a security  level equal to that of the SYSOP.   This should be a first
  5641.      and  last name  combination that  is  not likely  to be  selected  by other
  5642.      callers.   If  you want to eliminate  anyone from logging on as  the SYSOP,
  5643.      you  can simply reply with a "null" (i.e.  a carriage return) for the first
  5644.      and last name for parameter 121.
  5645.  
  5646.      The ESC key  is used to log on  in local SYSOP mode.   Parameter 122 can be
  5647.      set  so that the  pseudonym specified for  parameter 121 is  required to be
  5648.      entered from the local  keyboard of the personal computer on  which RBBS-PC
  5649.      is  running when the escape  key (Esc) is  pressed.  If you   enter YES, no
  5650.      password is required.
  5651.  
  5652.      Parameter  123  specifies the minimum security level users need in order to
  5653.      log onto   RBBS-PC and parameter 124 specifies the  security level assigned
  5654.      to new users.   If  the security level assigned new users  is less than the
  5655.      minimum security level to log on, no new  users  can  logon on.  This means
  5656.      that no new users are allowed and access is limited only  to pre-registered
  5657.      users.  Since one of RBBS-PC's two objectives is to facilitate the exchange
  5658.      of information, every RBBS-PC SYSOP is urged to not entirely deny new users
  5659.      access.    The  chapters  on  RBBS-PC's  extensive  security  features  and
  5660.      subscription and  time management system  detail the ways in  which a SYSOP
  5661.      can  control access  to his RBBS-PC  without having  to deny access  to new
  5662.      users -- chapters 16 and 10, respectively.
  5663.  
  5664.      Parameter 125  specifies the  minimum security  level a  user must  have in
  5665.      order to be considered  a SYSOP.  Even if a user has a high enough security
  5666.      level to see the SYSOP menu and  execute some or all of the SYSOP commands,
  5667.      the user  will not be  treated as a  SYSOP (i.e.  allowed to see  the files
  5668.      upload/download  when viewing the  CALLERS file) unless  the users security
  5669.      level is equal to or greater than that specified by this parameter.
  5670.  
  5671.      Parameter 126 prevents  the SYSOP menu from  being displayed (even if   the
  5672.      user   has   a security  level of  a SYSOP as  specified in  parameter 125)
  5673.      unless the user  is also at this security level. 
  5674.  
  5675.      Parameter 127  is the minimum security level  a user must have  to leave an
  5676.      extended (i.e. multiple line description) of a file that was uploaded.  See
  5677.      parameter 40  for the maximum number of  lines that an extended description
  5678.      will be allowed under the single FMS environment.
  5679.  
  5680.      Parameter  128  allows  a  maximum  number  of  security  violations  (i.e.
  5681.      attempts to   download protected files) before  the user is logged  off and
  5682.      locked out.
  5683.  
  5684.      Parameter  129, parameter 130, parameter  131, parameter 132, and parameter
  5685.      133 allow the SYSOP to set   up  the   security  levels  required to  issue
  5686.      the commands in the SYSOP,   Main Menu, File Subsystem, Utilities Subsystem
  5687.      (respectively), and global  commands.   All  the commands in each  area can
  5688.      be  given  the same security level or,  optionally,  a specific command can
  5689.      be  given a unique security level.
  5690.  
  5691.      Parameter  134 allows  the SYSOP  to specify  the maximum  number of  times
  5692.      users   can change their  passwords in a  given session.   This prevents  a
  5693.      caller from "fishing" for special passwords.
  5694.  
  5695.      RBBS-PC CPC17-2A                                                Page 118
  5696.  
  5697.      Parameter 135 is the minimum security level required in order for  users to
  5698.      change temporarily  their security or   time  on the system  via privileged
  5699.      group passwords.    If users  do not  have the  minimum  security level  to
  5700.      temporarily change their password, ALL password changes that they make will
  5701.      be  permanent  -- even  if the  password  they select  is in  the temporary
  5702.      password file named in parameter 146 of CONFIG!
  5703.  
  5704.      Parameter 136 allows   the  SYSOP to  specify a security  level   that  has
  5705.      the  privilege  of  overwriting  files (i.e.  files  that   already  exist)
  5706.      when  uploading.
  5707.  
  5708.      When the SYSOP "purges" the  USERS file, all users  who have not signed  on
  5709.      within the number of months specified in parameter 11 are deleted  from the
  5710.      file with the exception of those who have been "locked out" and those whose
  5711.      security level is equal to or greater than that specified in parameter 137.
  5712.  
  5713.  
  5714.      Parameter 138 allows the  SYSOP to specify the  security level required  to
  5715.      read new  PRIVATE messages.  Only those with  this security level or higher
  5716.      can read new private messages -- even if they have  been addressed to them.
  5717.      By setting  this value higher than  any other user than that  of the SYSOP,
  5718.      the SYSOP can then review all new private messages before allowing  them to
  5719.      be seen by  the addressee.  After  reviewing these messages, the  SYSOP can
  5720.      change the security level so that the message can be seen by the sender and
  5721.      the addressee.
  5722.  
  5723.      Parameter 139 allows the  SYSOP to specify  the security level required  to
  5724.      read new PUBLIC  messages.  Only those  with this security level  or higher
  5725.      can read new  public messages.  By setting this value higher than any other
  5726.      user  than the  SYSOP, the SYSOP  can then  review all new  public messages
  5727.      before allowing them to be seen.  After reviewing these messages, the SYSOP
  5728.      can change the security level so that the message can be seen.
  5729.  
  5730.      Parameter 140 specifies the minimum security  level that is able to  change
  5731.      the security level of a message.
  5732.  
  5733.      RBBS-PC CPC17-2A                                                Page 119
  5734.  
  5735.      11.8 Parameters for RBBS-PC's Security (part 2)
  5736.      -----------------------------------------------
  5737.      Parameter 141 is not implemented in RBBS-PC.  
  5738.  
  5739.      Parameter 142 allows  the SYSOP  to specify  the drive and  path where  the
  5740.      "personal directory" and files it contains  are located.  If a file  listed
  5741.      in  the directory  is not  found  here, the  download drives  will  then be
  5742.      searched, so it is not necessary to have a copy of a file  here in order to
  5743.      be personally downloadable.   However, the download directory must be here.
  5744.       Parameter  142  allows the  directory  and/or  files that  are  personally
  5745.      downloadable not to be accessible through the normal download, if desired.
  5746.  
  5747.      The "personal directory" is  utilized by the P)ersonal download  command in
  5748.      the files section of RBBS-PC.   It differs from D)ownload in that
  5749.           (a) only files listed in the directory can be downloaded
  5750.               versus any file that exists, 
  5751.           (b) the time to download is not checked against the time
  5752.               remaining, so that the file can be downloaded regardless
  5753.               of how little session time remains,
  5754.           (c) the files downloadable can be constrained to match any
  5755.               field in the user's record (e.g. limited by caller's name
  5756.               so that file is addressed specifically to the caller),
  5757.           (d) the download can be constrained by security level.
  5758.  
  5759.      Parameter  143  allows the  SYSOP  to  provide the  name  of  the "personal
  5760.      directory" -- the  default name is "PRIV".   If no extension  is specified,
  5761.      ".DEF" will be  used.  The personal  directory has a different  format from
  5762.      the other  directory files.   It  has a one-character field  after the file
  5763.      description  used  to  mark whether  file  has  been downloaded.    This is
  5764.      followed by the field that matches the user record (or has a security level
  5765.      if the first character of the field is blank).
  5766.  
  5767.      Parameter 144 is a way of specifying  the default protocol to be used  when
  5768.      downloading personal files using the "P" command in the file subsystem.  If
  5769.      no  protocol is  specified, the  "P" command  behaves exactly  same as  the
  5770.      D)ownload  command.   If a protocol  is specified,  it will be  used unless
  5771.      overridden by the command line (i.e. "P;test;y").
  5772.  
  5773.      Parameter 145 specifies the  name of the file that contains a  list of file
  5774.      names  that  CANNOT  BE  DOWNLOADED (even if they are  on  the  disks  that
  5775.      are  available for downloading) unless  the user supplies a password and/or
  5776.      is at  a  specific   security level.  If you want to have  no file security
  5777.      at   all,  just put no file names in this  file.  If you include a password
  5778.      with a file  name  all users (including one with SYSOP  privileges) must be
  5779.      able to   give   the password in order  to download the  file.  For  a more
  5780.      detailed  description of  this  file  and how  it  works,  see the  section
  5781.      entitled "How to Implement the Security for Download Files."
  5782.  
  5783.      Parameter 146  specifies   the file name  which contains   the   privileged
  5784.      group   passwords  that allow  users to change  temporarily their security,
  5785.      time   on   the  system,   etc. -- if  the SYSOP  has set  it up  that way.
  5786.      Callers shift  to   a   group   password  by  changing passwords.   If  the
  5787.      password  they  select  is found  in  the  file  containing the  privileged
  5788.      passwords, their private logon  password is unchanged and they  receive the
  5789.      security level and/or time limit associated with the group password. If you
  5790.      have no group  passwords, just  put nothing in   this  file.    For a  more
  5791.      detailed  description of  this  file  and how  it  works,  see the  section
  5792.      entitled "How to Implement the Password File."
  5793.  
  5794.      Parameter  147 provides  the SYSOP  with  the mechanism  to allow  users to
  5795.  
  5796.      RBBS-PC CPC17-2A                                                Page 120
  5797.  
  5798.      download multiple files using  the ASCII protocol (i.e. no  error checking)
  5799.      without any pausing  or messages between files.  This  is particular useful
  5800.      if the SYSOP wants users to download to a continuous feed printer.
  5801.  
  5802.      Parameter 148 specifies the  minimum security a user must have  in order to
  5803.      be able to "categorize" uploads when the SYSOP is using the File Management
  5804.      System (FMS).  Not all callers who upload files may  categorize them in the
  5805.      way that the SYSOP wants.
  5806.  
  5807.      Parameter 149 controls  who can view  new uploads based on  security level.
  5808.      If the upload directory  is not also the FMS directory, it is only viewable
  5809.      by those who have a sufficient security level.   If the upload directory is
  5810.      the FMS directory, the entries with the default categories will be viewable
  5811.      only  if a  caller has  a  security level  equal  to or  greater than  that
  5812.      specified in parameter 149 (all other categories are viewable).
  5813.  
  5814.      Parameter 150 specifies the  security level of those users who  will not be
  5815.      shown the "epilogue" questionnaire.  Typically the "epilogue" questionnaire
  5816.      asks users questions or invites  them to register.  Once they have done so,
  5817.      the  SYSOP  can  have  their  security   increased  to  this  value  either
  5818.      automatically  (i.e. via the questionnaire's script)  or manually such that
  5819.      the users no longer see the "epilogue" when they sign off.
  5820.  
  5821.      Parameter 151 is the security level required to automatically add a user to
  5822.      a SEMI-PRIVATE  "conference".  This parameter  can only  be activated  when
  5823.      CONFIG  is  in "conference  maintenance" mode  (see  parameter 167).   Each
  5824.      message file has a security level  associated with it which is the  MINIMUM
  5825.      SECURITY for  a user  to join it  if the user  is not in  that conference's
  5826.      USERS file.  Callers with the minimum security level specified in parameter
  5827.      151  are  automatically  added  to  the  USERS file  associated  with  that
  5828.      conference if they are not there.
  5829.  
  5830.      RBBS-PC's  "auto-add" security  feature  permits SEMI-PRIVATE  conferences,
  5831.      that  are open to  callers with a  certain security level.   The "auto-add"
  5832.      capabilities of RBBS-PC  makes it  possible for SYSOPs  to have  non-public
  5833.      conferences without having to add each desired caller to the user's file.
  5834.  
  5835.      A public conference  is one whose  "auto add" security  level is no  higher
  5836.      than  the default security  and whose  USERS file is  the same  as the main
  5837.      message base's.  This has the advantage of saving disk space (i.e. there is
  5838.      only a single USERS file) but the  disadvantage of not remembering the last
  5839.      message read by the user in each conference.
  5840.  
  5841.      A totally PRIVATE conference  is one that is limited to  persons already in
  5842.      the USERS file associated with that conference and is created by making the
  5843.      "auto add" security level higher than any caller's security.
  5844.  
  5845.      RBBS-PC CPC17-2A                                                Page 121
  5846.  
  5847.      A SEMI-PRIVATE  conference is one that has it's  own USERS and welcome file
  5848.      and whose "auto  add" security level is  set at an intermediate  level that
  5849.      some callers have and some do not.
  5850.  
  5851.      As an example, if a conference is to be totally  public but the user's last
  5852.      message read, preferences, and security  level in the conference are  to be
  5853.      remembered,
  5854.  
  5855.         1.  set the  security level required to automatically add  a user to the
  5856.      conference equal to the CONFIG utility  parameter 124 (the default security
  5857.      level for new callers), and
  5858.  
  5859.      2. create a user's file for the conference.
  5860.  
  5861.      All  callers  can  join,  and  each  user  is  automatically added  to  the
  5862.      conference's USER file as they join the conference.
  5863.  
  5864.      If you want a  conference to be SEMI-PRIVATE set  the security level to  be
  5865.      "auto add"ed to  the conference higher than the default  security level for
  5866.      your system and only  those users who have the security  level specified in
  5867.      parameter 151 can join the conference.
  5868.  
  5869.      Parameter 152 is the minimum security level for a caller to "turbo logon".
  5870.      It only applies  to callers that have  called your RBBS-PC system  at least
  5871.      once.  It can be used to  bypass everything when a user logs on (bulletins,
  5872.      welcomes, etc.) and  go directly  to the  either the main  RBBS-PC menu  or
  5873.      directly to a conference.  It only can be utilized when doing a single line
  5874.      log on  and by  following your  password with  an exclamation  point.   The
  5875.      "single line" logon has the format:
  5876.  
  5877.          first name; last name; password;!conference name
  5878.  
  5879.      As an example, a user named "Jon Smith" who called back for the second time
  5880.      and had a password of  "swift" who had been assigned a security  level that
  5881.      permitted  "turbo  logon"  privileges who  wanted  to  go  directly to  the
  5882.      conference "RBBS-PC" could log on with the following sequence:
  5883.  
  5884.          jon;smith;swift;!rbbs-pc
  5885.  
  5886.      Parameter 153  is  the minimum  security  required by  a  caller to  add  a
  5887.      directory entry for an existing file.   Typically this is restricted to the
  5888.      SYSOP only.
  5889.  
  5890.      Parameter 154 is the name of the help file that is automatically shown  (if
  5891.      the  file  exists)  to  a  caller whenever  the  caller  incurs  a security
  5892.      violation.      It is an  ideal candidate for  using RBBS-PC's personalized
  5893.      "smart" text file capabilities as described in section 8.9.
  5894.       .ix Parameter 155
  5895.      Parameter 155  allows the SYSOP to deny callers  access to two of RBBS-PC's
  5896.      "premium  features --  DOORS and file  downloading (either or  both), for a
  5897.      specific period of time.
  5898.  
  5899.      One  of the  two purposes  of RBBS-PC  is to  foster the  free exchange  of
  5900.      information.   Many SYSOPs  would  like to  encourage new  callers to  read
  5901.      bulletins and look at messages when they initially logon.  One  approach is
  5902.      to simply restrict new  users from all of the other  RBBS-PC features using
  5903.      RBBS-PC's  extensive security  system.   RBBS-PC  provides an  intermediate
  5904.      solution by allowing a SYSOP to require a user to be on-line for a specific
  5905.      amount of  time within a  session before DOORS  or file  DOWNLOADS, premium
  5906.      features are available to a caller.
  5907.  
  5908.      RBBS-PC CPC17-2A                                                Page 122
  5909.  
  5910.  
  5911.      This feature is  implemented by  both activating CONFIG  parameter 155  and
  5912.      setting up the PASSWRDS file appropriately, see section 16.3.
  5913.  
  5914.      For each level in the PASSWRDS file, a parameter specifies how many SECONDS
  5915.      the caller must have used  before the premium features are available.  If a
  5916.      caller tries  to use  a locked  feature before  the time  has elapsed,  the
  5917.      caller will be given a  message and denied access.  This is  *NOT* recorded
  5918.      as a security  violation.  See section 16.3 for a more detailed description
  5919.      of how to implement this feature in the PASSWRDS file.
  5920.  
  5921.      The file TIMELOCK.HLP should be placed  with the other RBBS-PC HELP  files.
  5922.      This  file (if  found) will  be shown  to a  user who  is  locked out  of a
  5923.      command.  If  the TIMELOCK.HLP file  is not available,  the caller will  be
  5924.      given a "canned" message:  "Sorry,  (name), try that function later."   The
  5925.      example  TIMELOCK.HLP uses SMART  TEXT.  If  SMART TEXT is  not implemented
  5926.      with  control  code (123),  the  file  TIMELOCK.HLP should  be  modified as
  5927.      appropriate.
  5928.  
  5929.      Parameter  156  is the  security  level of  a  caller in  a  "sub-board" or
  5930.      "conference"  who  will  have their  security  level  automatically reflect
  5931.      whatever the security level they are assigned in the main USERS file.  This
  5932.      means  that  on   large  RBBS-PC's  with  many  "sub-boards"  and  "private
  5933.      conferences" the SYSOP does not have to update each caller's USER record in
  5934.      the many  different USER's files.  The SYSOP  need only change the caller's
  5935.      USER record  in the main  USER file and it  will be reflected  in any "sub-
  5936.      board" or "conference" that the caller joins.  
  5937.  
  5938.      Parameter 157 is the minimum security a caller must have to be able to read
  5939.      and kill all messages (in the message base for which this is  a .DEF file).
  5940.      A SYSOP of a "sub-board" no longer need be given full SYSOP privileges when
  5941.      the SYSOP just needs to be able to review and monitor all mail.
  5942.  
  5943.      If  a message  record begins  with an  ASCII  value of  1, it  will not  be
  5944.      displayed to the  caller.  Parameter  158 allows the  SYSOP to specify  any
  5945.      character string  IN ADDITION to this that RBBS-PC is  to use as a criteria
  5946.      for  not displaying a  record in the  message file.   The default  value is
  5947.      "SEEN-BY:".
  5948.  
  5949.      RBBS-PC CPC17-2A                                                Page 123
  5950.  
  5951.      11.9 Parameters for Multiple RBBS-PC's/Conferences
  5952.      --------------------------------------------------
  5953.      RBBS-PC allows  multiple RBBS-PC's to  run in the  same environment/network
  5954.      and  share many of the same files.   If you ever plan  to do this or if you
  5955.      are going  to do  this, set  this  number to  the MAXIMUM  number you  ever
  5956.      envision running.  Up to  36 RBBS-PC's can share the same files.  Different
  5957.      environments  have  different  maximum  number  of  nodes   that  they  can
  5958.      effectively  support.   Parameter  161 allows  you  to specify  the maximum
  5959.      number of RBBS-PC's that the MESSAGES file should be initialized for.
  5960.  
  5961.      Parameter  162 allows the SYSOP  to designate the  type of environment that
  5962.      multiple copies of RBBS-PC will be sharing files in.   This is necessary so
  5963.      that RBBS-PC  can use  the mechanism  that is  appropriate to  the specific
  5964.      environment when sharing files.  RBBS-PC currently can handle the following
  5965.      environments for multiple RBBS-PC's:
  5966.  
  5967.                1.  MultiLink (The Software Link, Inc.)
  5968.                2.  OmniNet (Corvus)
  5969.                3.  PC-Net (Orchid)
  5970.                4.  DESQview (Quarterdeck Office Systems)
  5971.                5.  10 Net (Fox Research using 3COM interface)
  5972.                6.  IBM's NETBIOS
  5973.  
  5974.      NOTE:   Many manufacturers  utilize Orchid's  network conventions.   As  an
  5975.      example, AST and  Alloy are  both vendor's  whose "network"  is .EXE  file-
  5976.      compatible  with Orchid's.  If  you have a network of  PC's, check with the
  5977.      vendor to see how compatible their network is with those supported by RBBS-
  5978.      PC. 
  5979.  
  5980.      Some local area network environments are  not designed to have applications
  5981.      constantly branch back to the beginning and re-open already open files.  If
  5982.      you are in this environment or simply want to run external programs after a
  5983.      user logs off or RBBS-PC recycles, parameter 163 allows you  to elect to do
  5984.      this.   If you  specify "internal", RBBS-PC  will function as  it currently
  5985.      does and branch  back to its beginning.   If you specify  "system", RBBS-PC
  5986.      will exit to DOS  and (if you are running  RBBS-PC out of a .BAT  file) you
  5987.      can then  automatically invoke any  other "housekeeping" programs  you want
  5988.      before  re-invoking  RBBS-PC.   It should  be  noted that  this will  add a
  5989.      considerably delay  to RBBS-PC's  recycling time  as RBBS-PC  will have  to
  5990.      reloaded back into memory every time it recycles.
  5991.  
  5992.      Like the MESSAGES  file, the USERS file  must also be static in  length for
  5993.      RBBS-PC.  Parameter 164 allows the SYSOP to set the size of the USERS file.
  5994.      RBBS-PC  automatically keeps track of the records available for use in this
  5995.      file and does the necessary "housekeeping."    To do this RBBS-PC  requires
  5996.      the USERS file size (i.e. the number of records in it) to be  a power of 2.
  5997.       When  the USERS file get full  (i.e. all its records  are used up) and the
  5998.      SYSOP neither "packs" it  nor increases the size of the  file, no new users
  5999.      will be able to be added to the users until one of these two events occurs.
  6000.      Parameter 291 lets new users get on even if the users file is full.
  6001.  
  6002.      RBBS-PC  requires  that the  "Messages"  file  be  static  in length.    It
  6003.      automatically  keeps  track  of the  next  record  available  and does  the
  6004.      necessary housekeeping to maintain the integrity of the file. Parameter 165
  6005.      allows  the  SYSOP  to  set  the  size  of  this  file.    CONFIG.BAS  will
  6006.      automatically determine what size the current  file is and will reformat  a
  6007.      pre-CPC12-3A MESSAGES  file if it  finds one.   If you do  not increase the
  6008.      size of  your existing MESSAGES file, no one will  be able to leave any new
  6009.      messages.  Similarly, when the MESSAGES file get full (i.e. all its records
  6010.      are used up) and the SYSOP neither "packs" it nor increases the size of the
  6011.  
  6012.      RBBS-PC CPC17-2A                                                Page 124
  6013.  
  6014.      file, no one will  be able to leave a message until one of these two events
  6015.      occurs.
  6016.  
  6017.      The minimum  size of  the MESSAGES  file is  equal to  1 (The  "checkpoint"
  6018.      record) plus the  maximum number of  concurrent RBBS-PC's ("node"  records)
  6019.      plus the  maximum number of messages allowed multiplied by 5 (each messages
  6020.      is assumed to average five 128-byte records)
  6021.  
  6022.      Therefore, if parameter  161 of CONFIG where 12 and parameter 165 of CONFIG
  6023.      where  50,  the minimum  number  of records  that  could  be specified  for
  6024.      parameter 125 would be
  6025.         1 (The "checkpoint record)
  6026.       + 12 (The number of "node" records)
  6027.       +250 (50 messages x 5 128-byte records each)
  6028.       ----
  6029.        263 records for the MESSAGES file
  6030.  
  6031.      Parameter  166  lets you set the maximum number of  messages that the SYSOP
  6032.      will allow on  the  system at  any one time.    The number will  have to be
  6033.      based on the size  of  the  average  message on your bulletin board.   Most
  6034.      messages require about   600  bytes  on  the average.   The  absolute upper
  6035.      limit on the  number of messages  is   999.   If  you specify 250 messages,
  6036.      you can expect that the MESSAGES  file  will be formatted to more than 160K
  6037.      in size.
  6038.  
  6039.      Parameter 167 allows "conference"  files to be maintained.   A "conference"
  6040.      consists  of  a  message  file  and,   if  a  "private"  or  "semi-private"
  6041.      conference, a  corresponding users file.  The name of the conference can be
  6042.      anything that the  SYSOP selects but can  not be longer than  7 characters.
  6043.      The message  file's name for a  conference consists of the  conference name
  6044.      plus  the  characters  "M.DEF".    The  user file's  name  associated  with
  6045.      "private"  conferences consists of the  conference name plus the characters
  6046.      "U.DEF".
  6047.  
  6048.      Parameter 167  allows the SYSOP  to create,  expand, or contract  either or
  6049.      both of the  files associated with a  "conference."  This occurs  ONLY when
  6050.      the  SYSOP "ENDs"  the  CONFIG session  by  pressing  the key  marked  END.
  6051.      Parameter 167 allows the SYSOP to perform all the utility functions on page
  6052.      10 of CONFIG on the conference that was named/selected with parameter 167. 
  6053.  
  6054.      To make  a "private"  conference "semi-private",  see the discussion  under
  6055.      parameter 151.  For a  further discussion of "conferences" see sections  18
  6056.      and 19.
  6057.  
  6058.      Parameter 168 is the file extension  to be automatically added to the  name
  6059.      of any uploaded file that has no extension specified by  the caller.  RBBS-
  6060.      PC  will not permit a file  to be uploaded if  the file name being uploaded
  6061.      already exists but  has the default extension.   As an example  if a caller
  6062.      attempted to upload TEST.ARC and 
  6063.  
  6064.           1.  the file TEST.ZIP existed and
  6065.           2.  parameter 168 specified ZIP, then
  6066.  
  6067.      the caller would be told that a duplicate file existed.
  6068.  
  6069.      Parameter 169 allows the  MESSAGE files to "grow."   The need for  having a
  6070.      pre-allocated MESSAGE file  was dictated by  the limitations of the  Corvus
  6071.      Network software.   Since none of the  other networks supported by  RBBS-PC
  6072.      have  this limitation,  parameter  169 allows  a SYSOP  to setup  a nominal
  6073.      message  file (say  500  records) and  allow  it to  grow  as user's  leave
  6074.  
  6075.      RBBS-PC CPC17-2A                                                Page 125
  6076.  
  6077.      messages.
  6078.  
  6079.      RBBS-PC CPC17-2A                                                Page 126
  6080.  
  6081.      11.10 RBBS-PC SYSOP Utilities
  6082.      -----------------------------
  6083.      The  message file contains  all messages  for   the  RBBS-PC  system.    As
  6084.      messages are  killed they  are only flagged  as inactive.     Parameter 181
  6085.      should be used  periodically to recover the space occupied   by  the killed
  6086.      messages.  After  completion,  only the  text of active  messages  will  be
  6087.      present  and the old file will  remain on the system  with the qualifier of
  6088.      ".OLD".   Also, you  will need enough free disk space for a  second copy of
  6089.      the messages file  (with a qualifier of ".BAK") when packing a message file
  6090.      or the packing  cannot  be  performed.   If  enough space  is not found the
  6091.      packing  will  terminate abnormally and the message file will be recovered.
  6092.  
  6093.      Parameter 182 removes deleted users and users who   have  not  been on  the
  6094.      system within the number of months specified  using parameter 16 in CONFIG.
  6095.      You   should  have  enough free disk  space for a second  copy of the users
  6096.      file  (with a  qualifier of  ".BAK")  or the   rebuilding    will terminate
  6097.      abnormally (the users file will be restored).  It is important to note that
  6098.      beginning with CPC12-5A,  users files are no  longer a random file  that is
  6099.      accessed sequentially but  now is a random file that  is accessed directly.
  6100.      When a user  logs on to RBBS-PC  or joins a "conference",  RBBS-PC "hashes"
  6101.      the users name to  find the users record directly.  That is why every users
  6102.      file's size is a power of 2 (i.e.  256, 1024, etc.).  This allows users  to
  6103.      log on  much more  quickly to RBBS-PC's  that have  a very large  number of
  6104.      users.
  6105.  
  6106.      Parameter 183 will  display the message headers   of all messages,   active
  6107.      and killed,  that are present in the message file.   This is left over from
  6108.      one of the  many "debugging" stages of  RBBS-PC prior to CPC09.   Following
  6109.      the  policy  of  making all  changes  "additive",  this  function has  been
  6110.      retained.  It may help some SYSOPs recover from disk hardware failures.
  6111.  
  6112.      Parameter 184 permits  messages to  be renumbered   sequentially   starting
  6113.      from  a specified message   using  whatever   starting  number   you wish. 
  6114.      Please note that there is not much error checking to be  sure  that the new
  6115.      numbers do not duplicate  those of lower numbered  active  messages.   When
  6116.      complete,  the next message  to be created will be the next   higher number
  6117.      from  the resequence.  Unpredictable results  will occur if a SYSOP creates
  6118.      messages with duplicate numbers!
  6119.  
  6120.      Parameter 185 goes  through the current  message file and reconstructs  the
  6121.      chains that  link the messages together.   Message files that  have "blank"
  6122.      messages or abbreviated messages (i.e. some lines of  text are missing) can
  6123.      be repaired with this facility.  
  6124.  
  6125.      Parameter 186 allows the SYSOP to require all users (old and new) to answer
  6126.      the required questionnaire whose name was specified in parameter 82.
  6127.  
  6128.      Parameter 187 allows the SYSOP to determine whether the format of the RBBS-
  6129.      PC directory  of files  being used by  the RBBS-PC  File Management  System
  6130.      (FMS) conform to the  exact fixed format required  by the FMS (in case  the
  6131.      text  editor used by  the SYSOP to  edit the file inserted  tabs or shorten
  6132.      lines that had trailing blanks at the end of them).
  6133.  
  6134.      RBBS-PC CPC17-2A                                                Page 127
  6135.  
  6136.      Parameter 188  allows the  SYSOP to  determine whether  the  format of  the
  6137.      personal downloads directory is in the proper format for a single FMS.
  6138.  
  6139.      Parameter  189 is  a  utility that  will guide  a new  SYSOP, sequentially,
  6140.      through the parameters that would normally have to be changed when  setting
  6141.      up a new RBBS-PC.
  6142.  
  6143.      Parameter 190 is  a utility that will guide a  SYSOP, sequentially, through
  6144.      the parameters that are new and/or changed for the current release of RBBS-
  6145.      PC.
  6146.  
  6147.      Parameter 191 is a utility that will turn the "printer enabled" flag off in
  6148.      all  the  node  records.    This  is  useful  if  somehow  the  printer  is
  6149.      accidentally  enabled  when  no  printer  is  available  because  the  code
  6150.      generated by the BASIC compiler doesn't recover from this condition.
  6151.  
  6152.      Parameter 192 allows the SYSOP to select how "highlighting" of text will be
  6153.      treated.  This prevents users who  have not elected to have color  graphics
  6154.      from seeing  meaningless data imbedded in  the displayed text.   Putting in
  6155.      nothing disables color prompts and  highlighting of search strings.  For  a
  6156.      more complete explanation of RBBS-PC's display of colors to callers in text
  6157.      files see section 8.10.
  6158.  
  6159.      RBBS-PC CPC17-2A                                                Page 128
  6160.  
  6161.      11.11 RBBS-PC's File Management System Parameters
  6162.      -------------------------------------------------
  6163.      Parameter 201  specifies  the  letter  of the  single  drive  available  to
  6164.      this copy of RBBS-PC to which uploaded files can be written. When a file is
  6165.      uploaded, the file specified by CONFIG  parameter 202 will be automatically
  6166.      appended  with  the  file name,  file  size,   date  of  upload,  and short
  6167.      description as specified by the user.  
  6168.  
  6169.      Parameter   202 of the CONFIG program asks for  the name of  the  text file
  6170.      to be used as an RBBS-PC "directory" of files  into  which the  file  name,
  6171.      file  size,  and  file  description of uploaded files can be recorded.  The
  6172.      default  name is 99.DIR  and   it must  be on  the drive/path  specified in
  6173.      parameter 203.
  6174.  
  6175.      Parameter  203 specifies the drive/path were  the upload directory is to be
  6176.      found.
  6177.  
  6178.      Parameter 204 specifies the letters of the drives from which files  can  be
  6179.      downloaded.   The  order in which they are specified is the order in  which
  6180.      the  drives will be searched.   If the order is BAC,  then drive B will  be
  6181.      searched  first for the file,  then drive A,  and finally drive  C.   While
  6182.      there can be duplicate  files on each of the drives,  the first file  found
  6183.      will be the one downloaded to the user.
  6184.  
  6185.      Parameter 205 allows the  SYSOP to indicate that DOS subdirectories  are to
  6186.      be  used  by allowing  the  number of  DOS  subdirectories to  be  used for
  6187.      downloading to  be specified  (0 to  9999).   This number  is equal  to the
  6188.      number of DOS  subdirectories to be  used for uploading  (0 or 1) plus  the
  6189.      number of DOS subdirectories to be used for downloading.
  6190.  
  6191.      Parameter  206 allows the  SYSOP to indicate the  DOS subdirectory to which
  6192.      uploads are  to be written.  RBBS-PC will  prepend the upload disk drive to
  6193.      it (see  parameter  201) and  append the  upload file  name  after it  when
  6194.      uploads are written to disk.
  6195.  
  6196.      Parameter 207 allows the  SYSOP to indicate that DOS subdirectories  are to
  6197.      be used  when searching for  files on downloading.  A valid  download drive
  6198.      followed by a colon, a reverse backslash, and the subdirectory name that is
  6199.      to  be searched  must be  entered.   If the  root directory  is also  to be
  6200.      searched,  just enter  a valid  download drive  followed by  a  colon. Each
  6201.      download disk drive  is searched  for only those  subdirectories that  were
  6202.      specified  as  existing  on  that  specific  drive.  If  two  download  DOS
  6203.      subdirectories are specified (A:\TEST1 and B:\TEST2) and  two download disk
  6204.      drives for parameter 204 (A and B), the search for a download  file will be
  6205.      in the following order:
  6206.  
  6207.              A:\TEST1\filename
  6208.              B:\TEST2\filename
  6209.  
  6210.      It  is possible  to have the  same subdirectory name  on different download
  6211.      drives.    Each  would have  to  be  individually  specified (A:\GAMES  and
  6212.      B:\GAMES   If  they where,  the search  for  a download  file would  be  as
  6213.      follows:
  6214.  
  6215.              A:\GAMES\filename
  6216.              B:\GAMES\filename
  6217.  
  6218.      Parameter 208 is  only functional  if you  have responded  "Yes" to  either
  6219.      parameter 206 or parameter  207.  This parameter allows the  SYSOP to list,
  6220.      change,  add,  or  delete the  DOS  subdirectories to  be  used  for either
  6221.  
  6222.      RBBS-PC CPC17-2A                                                Page 129
  6223.  
  6224.      uploading (parameter 206) or downloading (parameter  207).  CONFIG does NOT
  6225.      actually create or delete such DOS subdirectories -- that's up to the SYSOP
  6226.      to do  using the standard  DOS commands.   Parameter 208 simply  allows the
  6227.      SYSOP to identify which DOS subdirectories will (or may) exist when RBBS-PC
  6228.      is running.
  6229.  
  6230.      Parameter 209  allows the  SYSOP to  specify the  extension that  RBBS-PC's
  6231.      "directories" of files  are to have.  See section 13  for a description  of
  6232.      RBBS-PC's  "directories" of files.--  they have no relation  to DOS 2.x and
  6233.      above subdirectories!  Most SYSOPs categorize  the files that are available
  6234.      for downloading into general groups (games,  utilities, etc.).  The default
  6235.      is "DIR".
  6236.  
  6237.      Parameter   210  specifies  the  alternative   extension  to  be  used  for
  6238.      "directory" files.  The main use  for an "alternate" extension is to  allow
  6239.      "sub-boards" to share directories using the main extension (parameter 209),
  6240.      but  also have  some directories  unique to  the  "sub-board" that  are not
  6241.      shared with others.
  6242.  
  6243.      The  name of the  directory of directories  is specified  in parameter 211.
  6244.      This  allows  sub-boards  with  the  same  extension to  have  a  different
  6245.      directories of directories.  The main RBBS-PC system might have a directory
  6246.      of directories named MAIN.DIR where parameter  211 was "MAIN" and parameter
  6247.      209 was  "DIR".  A  sub-board might have  a directory of  directories named
  6248.      BETA.DIR where parameter 211 was "BETA" and parameter 209 was "DIR". 
  6249.  
  6250.      Parameter 212 allows the  SYSOP to exclude the primary  directory (DIR.DIR)
  6251.      from the    search   done  by the  New  command.     If you  have  multiple
  6252.      directories   (i.e.   RBBS.DIR   through   BASIC.DIR),    any dates  in the
  6253.      primary  directory would not be   of  files.    The  "New"   command (as in
  6254.      "What new files have been  put  on  the   download  directories since I was
  6255.      last on?") search  each line of each   file  whose  extension is DIR for  a
  6256.      date field.  Since the first level  directory is normally a listing of  the
  6257.      other directories and  their general subject areas, it is advisable to omit
  6258.      the first level directory from the "New" command.
  6259.  
  6260.      Descriptions of files uploaded are always appended to the upload directory.
  6261.      Parameter 213 allows the description to be  appended to another file.  This
  6262.      could be, for example, a list of all files on the system, or the  basis for
  6263.      a bulletin reviewing the uploads.
  6264.  
  6265.      Parameter 214 is  how the SYSOP declares that there is a shared, single FMS
  6266.      directory.  Leave  it blank  if there  is none.   Section  13 discusses  in
  6267.      detail  the  advantages of  using  this  directory, which  has  a different
  6268.      structure from other  directory files.  This file must be in the drive/path
  6269.      for directories.
  6270.  
  6271.      RBBS-PC CPC17-2A                                                Page 130
  6272.  
  6273.      Users who upload can classify uploads into a category if their  security is
  6274.      at least as high as the level specified in parameter 148.   This option can
  6275.      save the SYSOP  considerable time.   If  the uploader  cannot classify  the
  6276.      upload, it goes only to the upload directory and uses the  default category
  6277.      code if written to the FMS directory.
  6278.  
  6279.      If  you  do  NOT want  users  to  categorize the  files  that  they upload,
  6280.      independent of whether  or not  you are  using FMS, simply  set the  CONFIG
  6281.      parameter 148 to a security level higher than any user can obtain.   If the
  6282.      uploader cannot  classify the upload, it goes  only to the upload directory
  6283.      and uses the default category code if written to the FMS directory.
  6284.  
  6285.      If  you DO want  users to  categorize the files  that they  upload you must
  6286.      follow these four steps:
  6287.  
  6288.           1.   Set CONFIG  parameter 148 to  the security  level of  the U>pload
  6289.      command.
  6290.           2.  Create a help file to show users when they are asked to categorize
  6291.      an uploaded file that might look something like:
  6292.  
  6293.               Category    Category    Description
  6294.                 Code        Name
  6295.  
  6296.                  1        Utilities   General Utilities
  6297.                  2        Games       Games
  6298.                  3        RBBS-PC     RBBS-PC files
  6299.                  4        RBBS-UTIL   Utilities for RBBS-PC
  6300.  
  6301.           3.  Set CONFIG parameter  67 to the name of the file  that you created
  6302.      for step 2
  6303.  
  6304.           4.  If, and  ONLY if, you are using  the FMS, create a second  file in
  6305.      the  format described in section  13.4 for parameter  217 and set parameter
  6306.      217 to the name of the file created in this format.
  6307.  
  6308.      Set parameter  215 to "YES" if there are no  directories other than the FMS
  6309.      directory.  That  increases the speed of  RBBS-PC because it does  not look
  6310.      for additional directories.  If you do not have  a shared directory or have
  6311.      a hybrid system  with some  physically distinct directory  files, set  this
  6312.      parameter to "NO".
  6313.  
  6314.      Parameter 216 is  the default category code for uploads.  This parameter is
  6315.      how  uploads get  classified in the  FMS directory  if the  uploader cannot
  6316.      provide a  classification.  To  make all new  uploads private and  viewable
  6317.      only by  the  SYSOP (until  the SYSOP  reviews the  files  and changes  the
  6318.      classification), set  the default code to "***".   The default is "UNC" for
  6319.      UNClassified.
  6320.  
  6321.      Parameter 217  is  the name  of  the text  file  which tells  RBBS-PC  what
  6322.      categories are included  in the shared  FMS directory.   The format of  the
  6323.      file is described in section 13.5.
  6324.  
  6325.      Parameter 218 allows  the SYSOP to  restrict searches (either for  specific
  6326.      strings or via the "N>ew" command by date) to a single RBBS-PC directory of
  6327.      files.  If not restricted, all RBBS-PC file directories will be searched.
  6328.  
  6329.      Parameter 219 sets  the maximum length of the description that can be given
  6330.      to  an uploaded file.  RBBS-PC can be  configured so that  those who upload
  6331.      files can provide a description of the  file they upload.  This description
  6332.      informs others what the file does  and helps them decide whether they  want
  6333.  
  6334.      RBBS-PC CPC17-2A                                                Page 131
  6335.  
  6336.      to download the files.    The maximum length of the description  can be set
  6337.      to any value between 40 and 46.  WARNING:   this option will not change the
  6338.      length of existing directories.
  6339.  
  6340.      Parameter  220  specifies where  all directory  files  must be  put, except
  6341.      possibly for the upload directory.  Only in this DOS directory does RBBS-PC
  6342.      look for RBBS-PC   directory files, with  the sole exception of  the upload
  6343.      directory when the caller's security level  permits the upload directory to
  6344.      be viewed (see parameter 149).
  6345.  
  6346.      RBBS-PC CPC17-2A                                                Page 132
  6347.  
  6348.      11.12 Communications Parameters (part 1)
  6349.      ----------------------------------------
  6350.      Parameter  # 221 requests the user to specify the communication  port  that
  6351.      RBBS-PC  will use.  If you specify  COM0, RBBS-PC will run on a PC  without
  6352.      using a communications port or modem and still appear to  the PC user as if
  6353.      they were accessing RBBS-PC remotely.  This "workstation" feature can allow
  6354.      RBBS-PC to be used  in a local area network environment where each of up to
  6355.      36 PC's can access the  central RBBS-PC system (on the LAN server)  and use
  6356.      RBBS-PC  for   electronic  mail  within   the  LAN.     Alternatively  this
  6357.      "workstation" mode can  be used to teach users  how to access RBBS-PC  in a
  6358.      classroom environment without requiring telephone access.
  6359.  
  6360.      The BASIC language can only support COM1 and COM2, and when either of these
  6361.      are selected and you specify that you  will not be using a "FOSSIL" driver,
  6362.      RBBS-PC will use the built-in BASIC  support for remote access (i.e. via  a
  6363.      communications port and a modem).
  6364.  
  6365.      However, RBBS-PC will interface with "FOSSIL" drivers that support not only
  6366.      COM1 and  COM2 but also  COM3 through COM8.   If  you use parameter  221 to
  6367.      indicate  that RBBS-PC is  to access  the communication  port via  a FOSSIL
  6368.      driver, the FOSSIL interface  (FOSSCOMM.OBJ) written by Daan Van  der Weide
  6369.      will be used.  FOSSCOMM.OBJ provides access to whatever FOSSIL drivers that
  6370.      are installed on  the PC running RBBS-PC.   In a  multi-tasking environment
  6371.      such as DESQview up to 8 copies of RBBS-PC can run simultaneously accessing
  6372.      COM1 to COM8, respectively,  using Ray Gwinn's X00.SYS device driver.   Ray
  6373.      can be reached via  FidoNet (109/639) or the RENEX bulletin  board at (703)
  6374.      494-8331 or (703) 690-7950.
  6375.  
  6376.      Parameter 222 allows the SYSOP to specify  the number of seconds that RBBS-
  6377.      PC should wait after initializing the  modem with a "reset" command.   Most
  6378.      modems require only 2 seconds, however some may require much (MUCH) longer.
  6379.      If the 2  second default is not  sufficient consult with your  modem vendor
  6380.      and try different settings.
  6381.  
  6382.      Parameter 223 allows the SYSOP to specify how long to wait prior to issuing
  6383.      a modem  command.  This is most useful when  you have configured RBBS-PC to
  6384.      only issue commands between rings and want the modem to "settle down" after
  6385.      a ring has  ended.  The default  setting is one second.   If you find  that
  6386.      2400 baud calls are improperly  connected at 1200 baud, increase  the wait.
  6387.      Some modems take longer to connect at 2400 than at lower speeds.
  6388.  
  6389.      Parameter 224  specifies the number  of rings to wait before answering  the
  6390.      phone.   Specifying  zero rings means  that the  modem (not  RBBS-PC!) will
  6391.      answer the phone as soon as it rings. 
  6392.  
  6393.      If you specify the number ONE, RBBS-PC  will wait for the phone to ring and
  6394.      then instruct the modem to  answer the phone.  This is the  default setting
  6395.      and requires that  the modem be capable  of indicating to RBBS-PC  that the
  6396.      phone is  ringing --  either providing the  "ring indicator"  signal via  a
  6397.      modem cable  that has  PIN 22  connected at  both ends  OR  by sending  the
  6398.      characters "RING" each time the phone rings.
  6399.  
  6400.      Specifying a number  equal to ZERO  (and not specifying "ring-back")  means
  6401.      that RBBS-PC will  initialize the modem  to automatically answer the  phone
  6402.      (independent of RBBS-PC) and RBBS-PC will simply wait for carrier detect to
  6403.      occur.  This is  NOT RECOMMENDED.  However, if your  non-Hayes modem simply
  6404.      is incapable of  indicating that the phone  is ringing or your  modem cable
  6405.      does not have PIN 22 connected, this is the option you will  have to elect.
  6406.      If this option  is selected,  you will  be reminded that  you are  shooting
  6407.      yourself in the  foot by allowing exiting to DOS remotely (either through a
  6408.  
  6409.      RBBS-PC CPC17-2A                                                Page 133
  6410.  
  6411.      "door" or  via  the SYSOP function 7)  when activating "doors" in parameter
  6412.      101.   This is because in this mode (the  modem answering the phone and NOT
  6413.      RBBS-PC),  if  you were  inadvertently disconnected  while in  DOS or  in a
  6414.      "door", the next person to dial your system would be connected  to wherever
  6415.      you were because the modem (not RBBS-PC) is answering the phone.
  6416.  
  6417.      If you specify a number greater than 2 means that RBBS-PC will either:
  6418.  
  6419.      1.  wait until the specified number of rings to answer the phone, or
  6420.  
  6421.      2.  answer the next call after the current one after the specified 
  6422.          number of rings specified provided that the next call comes
  6423.          within 45 seconds after the first call stops ringing the phone.
  6424.          This mode is called RING-BACK.
  6425.  
  6426.      Specifying  a number greater  than one is  useful only when  a single phone
  6427.      line can receive both voice (i.e. callers who wish to speak with the SYSOP)
  6428.      and data calls (i.e. for RBBS-PC) on an unscheduled basis.  In this type of
  6429.      environment (i.e.  a random mix of voice and  RBBS-PC calls), there are two
  6430.      ways a SYSOP can set up RBBS-PC so that RBBS-PC can automatically determine
  6431.      if the call is for the SYSOP or for RBBS-PC.
  6432.  
  6433.      First, the SYSOP can establish the rule with the callers that if  unable to
  6434.      personally answer  the phone, then RBBS-PC  will answer the phone  after it
  6435.      rings the number of times specified in parameter 224.   Callers can let the
  6436.      phone ring and (if it is not  answered by a person within some agreed  upon
  6437.      number rings) know that it will be answered by RBBS-PC.  This is useful  to
  6438.      those who may have either hearing or speech problems and are  unable to use
  6439.      the telephone conveniently for voice communications.
  6440.  
  6441.      A second approach is the  more classic, "ring-back" approach.  RBBS-PC  can
  6442.      be  told to NEVER answer  the first call (it  can ring forever!).  However,
  6443.      should the caller  WAIT A MINIMUM OF  12 SECONDS (a Hayes  restriction) and
  6444.      call back no later  than 45 seconds after the last ring  of the first call,
  6445.      RBBS-PC  will answer  the  call  after the  number  of  rings indicated  in
  6446.      parameter 224  provided that the number of rings is  set to between one and
  6447.      five. If callers want to make a voice contact, they can simply call and let
  6448.      the phone  ring until it is answered. If you have a dedicated line for your
  6449.      RBBS-PC (either full-time or on  a scheduled basis),  parameter  224 should
  6450.      be set to ZERO.
  6451.  
  6452.      Parameter 225 provides the SYSOP with the capability of selecting ANY modem
  6453.      commands appropriate for the modem being used -- not just the default Hayes
  6454.      commands RBBS-PC would normally  use.  Before the default  RBBS-PC standard
  6455.      Hayes commands are changed, you should thoroughly understand the modem that
  6456.      your are  using  and the  modem  commands, as  used  by RBBS-PC,  that  are
  6457.      described in section 12.
  6458.  
  6459.      Parameter 226 allows the software-based MNP  to be optional within RBBS-PC.
  6460.      REGRETTABLY, this option can not  be selected with version CPC17-2A.   This
  6461.      is because it  was not  possible to resolve  the linkage  incompatibilities
  6462.      between the new  compilers and the MNP library and  RBBS-PC interface prior
  6463.      to the  release of CPC17-2A.   Every effort is  being made to  correct this
  6464.      particular problem.   However, RBBS-PC  does support MNP  protocol that  is
  6465.      hardware-based (i.e. built into the calling and answering modems).
  6466.  
  6467.      Some SYSOPs may  not wish  to provide their  users with  the choice of  MNP
  6468.      protocol (especially if they are employed by a company that has a competing
  6469.      protocol).   RBBS-PC's  features and  growth are designed to be "additive."
  6470.      This  parameter allows  each  SYSOP to  decide  if MNP  protocol  is to  be
  6471.  
  6472.      RBBS-PC CPC17-2A                                                Page 134
  6473.  
  6474.      available for  file transfers.   Microcom's  error-free protocol,  MNP, has
  6475.      been available for file  transfer beginning with version CPC12-4A  of RBBS-
  6476.      PC.  
  6477.  
  6478.      Parameter 227 allows  the SYSOP  to tell  RBBS-PC either to  wait to  issue
  6479.      commands in-between rings or to issue modem commands without waiting.  Some
  6480.      modems cannot both handle  the telephone ringing and accept  modem commands
  6481.      simultaneously.  Other modems, like the Hayes, can handle such simultaneous
  6482.      demands.  For these later (i.e. Hayes, Prometheus,   Multi-Tech, etc.) this
  6483.      option should be set to "NO." 
  6484.  
  6485.      Some 2400  baud modems (like  the Hayes) MUST  be opened initially  at 2400
  6486.      baud because when  they automatically answer the phone they  can only "bump
  6487.      down" when automatically detecting  baud rate (i.e. from 2400 down  to 1200
  6488.      down to 300).  Parameter 228 allows  the SYSOP to  select the baud rate  at
  6489.      which RBBS-PC is to open the modem at initially.
  6490.  
  6491.      The SYSOP can select the number of  seconds RBBS-PC will allow a user to be
  6492.      "idle" (i.e. not  sending or receiving data)  via parameter 229.   Before a
  6493.      user is  logged off, a  warning message is  issued.  If the  caller remains
  6494.      idle for the following 30 seconds the caller is automatically logged off.
  6495.  
  6496.      Parameter 230 allows the SYSOP to indicate if a "dumb" modem is  being used
  6497.      (i.e. one that will answer the  phone and automatically detect the caller's
  6498.      baud rate if it is the modem was opened for).  Selecting this means that no
  6499.      modem commands are written to the modem.
  6500.  
  6501.      If the SYSOP has a non-Hayes modem (i.e. one that will  not recognize Hayes
  6502.      commands and will not return Hayes  responses) that will only "auto-answer"
  6503.      the  phone, parameter  230 allows the  SYSOP to  so indicate to  RBBS-PC by
  6504.      selecting  "dumb"  modem.   Typically  this  would  be some  communications
  6505.      network (i.e. TymnNet) or local area network that supplied a  simple RS-232
  6506.      interface.  Selecting this option causes RBBS-PC to 
  6507.  
  6508.           1.  Issue no Hayes commands,
  6509.           2.  Depend on no Hayes-like responses,
  6510.           3.  Control the interface with the Data Terminal Ready (DTR), 
  6511.           4.  Assume somebody has called whenever Carrier Detect (CD) is 
  6512.               detected, and
  6513.           5.  Assume that whomever calls is at the baud rate selected in
  6514.               CONFIG parameter 228.
  6515.  
  6516.      The Hayes  2400 baud  modem  has no  hardware switches.   It's  remembered,
  6517.      permanent  settings can be set  only through software.   Parameter 231 will
  6518.      properly initialize a Hayes 2400 modem for use with RBBS-PC.
  6519.  
  6520.      Parameter 232  is the time  to wait after  dropping DTR.   This is  used in
  6521.      RBBS-PC for dropping  the connection after a caller logs off normally.  Too
  6522.      short a  delay will  cause the modem  not to  re-initialize properly.   The
  6523.      default time is 3 seconds.
  6524.  
  6525.      In  order to provide  the maximum flexibility  (and get RBBS-PC  out of the
  6526.      protocol  writing business), RBBS-PC supports external protocol drivers via
  6527.      a standard interface.   The external  protocol driver for YMODEM,  YMODEMG,
  6528.      IMODEM is the file  QMXFER.EXE.  The external protocol  driver for WINDOWED
  6529.      XMODEM  is  WXMODEM.EXE.    The  external  protocol driver  for  KERMIT  is
  6530.      PCKERMIT.EXE.    These protocols  work  only  if the  external  drivers are
  6531.      available  and defined in  the file specified  by parameter 233.   Also see
  6532.      sections 21.1 and 22.2 on how these drivers are invoked.
  6533.  
  6534.      RBBS-PC CPC17-2A                                                Page 135
  6535.  
  6536.      RBBS-PC  can  check right  after  a  caller logs  on  whether the  caller's
  6537.      communication  program supports  autodownload.   Turning  on parameter  234
  6538.      means that  RBBS-PC will  always do  this check.   However,  this check  is
  6539.      incompatible  with some terminals and communications packages, causing them
  6540.      to stop displaying on  the local screen.  If  the check is passed,  RBBS-PC
  6541.      announces that autodownload is available  and asks callers if they  want to
  6542.      use  it.  This check is  unnecessary for autodownload to  work.  The caller
  6543.      can  control  whether autodownload  is  used  with the  T)oggle  command in
  6544.      utilities.  It is recommended that this option NOT be enabled.
  6545.  
  6546.      Parameter 235 allows the SYSOP to tell  RBBS-PC that files ending in binary
  6547.      file   extensions (i.e.  .ARC, .EXE,   .COM,   .OBJ,  .WKS, .BAS,  or whose
  6548.      second letter of the  extension is Q) can not be downloaded unless the user
  6549.      selects a non-ASCII  protocol.   This should eliminate  some user  problems
  6550.      before they occur.    IBM's  BASIC  interpreter's  SAVE  command default is
  6551.      to    write    files  in a  special  binary  format  (also  referred  to as
  6552.      'tokenized') because they require much less disk space.
  6553.  
  6554.      Parameter 236 allows a SYSOP  to use some of the "less than perfect" modems
  6555.      that have a tendency to "go to  sleep" under rigorous usage.  Setting  this
  6556.      parameter to a non-zero value, means that RBBS-PC will re-cycle if no calls
  6557.      are  received after the specified  non-zero value number  of minutes.  When
  6558.      re-cycling RBBS-PC  resets the modem -- hence "wakes it  up" if it has gone
  6559.      to  sleep.  A  setting of 10 minutes  is recommended for  busy lines and 60
  6560.      minutes for less busy lines.  Specifying 0 means  that RBBS-PC will not re-
  6561.      cycle if no calls are received, but simply wait for the next caller. 
  6562.  
  6563.      Parameter  237 allows the SYSOP to leave the  modem at the baud rate it was
  6564.      initially opened at rather than automatically matching the baud rate of the
  6565.      caller.  RBBS-PC  normally changes the baud rate in the RS-232 interface to
  6566.      match  that of the  callers.  Some modems  will match the  baud rate of the
  6567.      incoming caller and allow  the PC to continue communicating with  it at the
  6568.      baud rate the modem was opened at (the modem buffers it down to the callers
  6569.      baud).  Some 9600  baud modems will  allow the PC  that they are  connected
  6570.      with to transfer data to them at 19,200 baud and the modem will talk to the
  6571.      caller at whatever the baud rate of the incoming callers modem is set at.
  6572.  
  6573.      RBBS-PC CPC17-2A                                                Page 136
  6574.  
  6575.      11.13 Communications Parameters (part 2)
  6576.      ----------------------------------------
  6577.      Some of the less sophisticated communications packages automatically switch
  6578.      back to their original communications parameters for parity, data bits, and
  6579.      stop bits if  the user manually changes them  during the session. Similarly
  6580.      some of the older public data networks can't talk to a terminal that is set
  6581.      at  N/8/1.  As all error-free protocols  typically require the settings for
  6582.      these to  be N/8/1 (i.e.  no parity,  eight data bits,  and one  stop bit),
  6583.      parameter  241  allows the  SYSOP to  have  RBBS-PC accommodate  these more
  6584.      primitive  environments by  automatically switching  back  to the  original
  6585.      parameters after the file transfer is complete.
  6586.  
  6587.      Parameter 242 allows a SYSOP to decline calls from new callers based on the
  6588.      baud rate specified.
  6589.  
  6590.      Some SYSOPs believe that 300 BAUD users have a "pre-puberty" mentality  and
  6591.      cause more  problems (i.e.  infantile messages)  for the  SYSOP than  their
  6592.      contributions justify.     Another reason  for denying  access to 300  BAUD
  6593.      users is  when RBBS-PC is running  in a multi-tasking DOS  environment that
  6594.      does  not handle 300  BAUD very efficiently  (i.e. like  MultiLink).  While
  6595.      RBBS-PC is intended to  be as open a system as possible, each SYSOP has the
  6596.      option of electing  to accept calls of  only a certain baud  rate or higher
  6597.      for new callers.   Whatever reasons a SYSOP  has for denying access  to 300
  6598.      BAUD  users, this option enables the SYSOP  to select to do so using CONFIG
  6599.      rather than having to modify the RBBS-PC source code.
  6600.  
  6601.      Parameter 243 allows RBBS-PC to be configured to allow registered users  to
  6602.      logon at any baud rate baud even if new users can't. 
  6603.  
  6604.      Parameter 244 allows modems that require it, to have "flow control" between
  6605.      the modem and the PC running RBBS-PC using the "clear-to-send" signal, RTS.
  6606.      Some modems  with built-in error checking protocols  require this to be set
  6607.      on  or, should an error-free link become disconnected, the modem will never
  6608.      respond to the PC after RBBS-PC recycles.
  6609.  
  6610.      Parameter 245 allows another method of "flow control" between the modem and
  6611.      the PC running RBBS-PC -- XON/XOFF.  Since RBBS-PC attempts to write to the
  6612.      caller as fast as possible, XON/XOFF flow control is normally turned off --
  6613.      unless  parameter 245 has enabled it.  When RBBS-PC is attached to a public
  6614.      data  network, it can  be sometimes necessary  to use this  method of "flow
  6615.      control"  rather than  "clear-to-send".   Setting this  parameter  to "yes"
  6616.      means that RBBS-PC will universally support XON/XOFF.  However the XON/XOFF
  6617.      check is only  made after the buffer  is emptied as specified  in parameter
  6618.      54.   It is recommended,  when XON/XOFF flow  control is going  to be used,
  6619.      that  parameter 54 be  set to 32 bytes  so RBBS-PC can  be as responsive as
  6620.      possible.
  6621.  
  6622.      Parameter 246 specifies the maximum time to wait for  carrier after RBBS-PC
  6623.      answers  the phone.   Some  of  the "less  than perfect"  modems disconnect
  6624.      immediately and  RBBS-PC would stay "off  the hook" long  enough to receive
  6625.      the automated voice  message requesting  the modem to  "hang up and  please
  6626.      dial again." 
  6627.  
  6628.      RBBS-PC CPC17-2A                                                Page 137
  6629.  
  6630.      11.14 Parameters for RBBS-PC NET-MAIL
  6631.      -------------------------------------
  6632.      Parameter 261 allows  the SYSOP to specify  the time of day in  HHMM format
  6633.      after  which  RBBS-PC  is  to  exit  after  creating  a dummy  file  called
  6634.      RBBSxTM.DEF where "x" is  the node ID of the  node that EXITed to DOS.   By
  6635.      adding two "IF" statements to the simple .BAT file described in Section 14,
  6636.      the RBBS-PC-created file RBBSxTM.BAT will be  invoked if RBBS-PC is invoked
  6637.      with the following .BAT file (assuming "x" = node id = 1):
  6638.  
  6639.      IF EXIST C:RBBS1F1.DEF DEL C:RBBS1F1.DEF  ' Delete SYSOP F1 semaphore
  6640.      IF EXIST C:RBBS1TM.DEF DEL C:RBBS1TM.DEF  ' Delete Time/drop semaphore
  6641.      IF EXIST C:RCTTY1.BAT  DEL C:RCTTY1.BAT   ' Delete batch file for DOOR exit
  6642.      RBBS-PC.EXE 1 RBBS1PC.DEF                 ' Invoke RBBS-PC for node 1
  6643.      IF EXIST C:RBBS1F1.DEF GOTO EXIT          ' Check for SYSOP F1 key pressed
  6644.      IF EXIST C:RBBS1TM.DEF C:RBBS1TM.BAT      ' Check for Time to go to DOS
  6645.      IF EXIST C:RCTTY1.BAT  C:RCTTY.BAT        ' Check for exit to a DOOR
  6646.      C:RBBS.BAT                                ' Re-invoke RBBS-PC again
  6647.      :EXIT
  6648.  
  6649.      The above  assumes that RBBS-PC  node is  "1", the  name of  the file  that
  6650.      invoked RBBS-PC is RBBS.BAT, and everything is in the same DOS subdirectory
  6651.      on the "C" drive.  Obviously, this example can be made more generic.
  6652.  
  6653.      The file that RBBS-PC  exits to is named RBBS1TM.BAT (but it could be named
  6654.      anything that the SYSOP desired).  It is the responsibility of the SYSOP to
  6655.      name  and create the RBBS1TM.BAT file.  A simple such file that invoked Kim
  6656.      Wells'  utility MU-PURGE  and  then re-invoked  RBBS-PC  would contain  the
  6657.      following two statements:
  6658.  
  6659.      MU-PURGE PURGE.CTL
  6660.      RBBS.BAT
  6661.  
  6662.      As always, .BAT files are limited only by the creativity of their authors.
  6663.  
  6664.      Parameter 262 allows RBBS-PC to handle "store-and-forward" mail of messages
  6665.      and files.  Currently the only such "net mail" that is compatible  with the
  6666.      FIDO store-and-forward mail specification is supported such as FIDO, SeaDog
  6667.      (see Appendix V)  and BINKLEY  TERM.   By enabling this  option, the  SYSOP
  6668.      assumes the responsibility of configuring the "net mail" application to
  6669.  
  6670.           1. answer the phone and determine if the caller is sending "net mail".
  6671.  
  6672.           2. if the caller is not sending "net mail", the net mail application
  6673.              must invoke RBBS-PC with the following command line:
  6674.                     RBBS-PC.EXE nodeid filename /time /baud
  6675.              where:
  6676.                 "nodeid" is the node ID in the range 1-9, 0, or A-Z.
  6677.                 "filename" is the fully qualified file name to use as the
  6678.                      RBBS-PC ".DEF" file.
  6679.                 "/time" is the time of day for RBBS-PC to return to the "net
  6680.                      mail" application that called RBBS-PC.
  6681.                 "/baud" if the baud rate that the caller dialed in at.
  6682.  
  6683.      RBBS-PC CPC17-2A                                                Page 138
  6684.  
  6685.      Parameter 263 is intended to be used  when RBBS-PC is connected to a public
  6686.      data network (PDN) as a "node" -- not all systems that people log into on a
  6687.      PDN  need be "main  frame" computers!  When  RBBS-PC is a  node on a public
  6688.      data network,  typically the network  will do  the echoing  -- between  the
  6689.      caller and the port he/she accesses on the PDN and between RBBS-PC and  the
  6690.      port RBBS-PC  accesses on  the PDN.   This  causes file  transfers to be  a
  6691.      problem because  the PDN will continue to echo.   Therefore it is necessary
  6692.      to be able to go into an "image" mode  where data is passed through the PDN
  6693.      intact with no echoing.  The contents of this string is obviously dependent
  6694.      on the predilections of the PDN that RBBS-PC is attached to.  The string is
  6695.      sent just before a  file exchange occurs.  Any character can be included in
  6696.      the string using it's decimal ASCII  equivalent simply by putting a  number
  6697.      inside  square  brackets.    Characters  not  in square  brackets  will  be
  6698.      transmitted as they were  entered.  The string "a[32]" will  be interpreted
  6699.      as a lower case letter "a" followed by a blank.
  6700.  
  6701.      Parameter 264 is intended for situations where RBBS-PC  is a node on a PDN.
  6702.      It is the string that sent following a file exchange that causes the PDN to
  6703.      resume echoing.   As  with parameter 263,  the contents  of this  string is
  6704.      entirely dependent on the predilections of the PDN that RBBS-PC is attached
  6705.      to.
  6706.  
  6707.      Parameter 265 allows  the SYSOP to specify  the default mode of  who echoes
  6708.      characters back to  the user.  Normally RBBS-PC echoes  each character that
  6709.      the  caller  types  back to  them.    An individual  caller  can  set their
  6710.      preference  for who is doing the  echoing in the Utilities subsystem within
  6711.      RBBS-PC.  Callers using telecommunications devices  for the deaf (TDD's) or
  6712.      using PDN's that  do local echoing  can dramatically improve their  through
  6713.      put by not having RBBS-PC echo characters back to them.
  6714.  
  6715.      Parameter  266 allows the  SYSOP to force RBBS-PC  to acknowledge each line
  6716.      uploaded via  the ASCII file transfer with  a character string.  Typically,
  6717.      an ASCII upload is characterized by two fundamental features -- it contains
  6718.      no unprintable characters  and it  does not require  any "error  checking".
  6719.      Under some circumstances  a callers communications  protocol may require  a
  6720.      response from  RBBS-PC (i.e.  a line  feed) before  the next  line will  be
  6721.      transmitted.  
  6722.  
  6723.      RBBS-PC CPC17-2A                                                Page 139
  6724.  
  6725.      11.15 New Users Parameters
  6726.      --------------------------
  6727.      Parameter 281 allows  the SYSOP to  elect to  not ask new  users for  their
  6728.      default parameters.    RBBS-PC  typically  asks  new  users  whether  their
  6729.      terminal supports upper case, whether they want line feeds, what they  want
  6730.      for  a graphics  preference, what  they want  for  a default  protocol, and
  6731.      whether they  want  "turbo-key".   Sometimes  these questions  confuse  new
  6732.      users, who  lack the knowledge to answer them.  To bypass the questions and
  6733.      force new users to  get the defaults (upper and lower  case, line feeds, no
  6734.      graphics, no protocol, no nulls), specify "NO" this parameter.
  6735.  
  6736.      Parameter 281, parameter 282, parameter 283, parameter 284,  parameter 285,
  6737.      parameter 286,  parameter 287,  parameter 288,  and parameter  289 are  not
  6738.      implemented in RBBS-PC.
  6739.  
  6740.      Parameter 290  controls whether  new users are  logged to  the USERS  file.
  6741.      RBBS-PC normally logs  new users in the  users file and recognizes  them as
  6742.      having previously logged on should they call back.  If the SYSOP wants  new
  6743.      users not to be logged to the users file specify "NO" to parameter 290.
  6744.  
  6745.      Parameter 291  allows the  SYSOP to  permit RBBS-PC  to continue  operating
  6746.      should the users  file run  out of  room for new  users.   Until the  SYSOP
  6747.      rebuilds the users file or expands it, there are then two options: 
  6748.  
  6749.           1.   do not let the new user on, or
  6750.           2.   let the new user on but do not try to add him to the user file.  
  6751.      Saying "YES" to parameter 291 enable new  users to be allowed on when there
  6752.      is no room rather than being told there is no room and then disconnected. 
  6753.  
  6754.      RBBS-PC CPC17-2A                                                Page 140
  6755.  
  6756.      11.16 Use of the Library Sub-System
  6757.      -----------------------------------
  6758.      Parameter 301 allows the SYSOP to designate/activate the Library-Subsystem.
  6759.      The default for this parameter is "<none>".  This  deactivates the function
  6760.      in its entirety.   To activate the Library-Subsystem select  this parameter
  6761.      and specify the drive that  contains your Library Disks.  Note:  This drive
  6762.      MUST be a separate drive and not the  same drive as any other drive in  use
  6763.      by RBBS-PC.   If RBBS-PC is going to  be run on a single  hard disk and the
  6764.      Library-Subsystem activated,  PC-DOS 3.1 or  greater and the  SUBST command
  6765.      must be used to allocate the library disks to a pseudo drive different from
  6766.      the other drive in use by RBBS-PC.
  6767.  
  6768.      Parameter 302  is used to select  the drive\path where RBBS-PC  should look
  6769.      for the upper  level file directory  (CDR.CDR is the  default name).   This
  6770.      should be the same drive selected in parameter 220.
  6771.  
  6772.      Parameter 303 allows the extension to be used to identify the Library upper
  6773.      level directory to be specified.  (CDR is the default).
  6774.  
  6775.      Parameter 304 is used to identify the drive\directory the Library subsystem
  6776.      should use for creating archive files for transmission.  Since the input to
  6777.      the archive function would be one 360k  floppy disk worth of data the space
  6778.      requirements will be less  than 360k.   A RAM disk for  this use should  be
  6779.      considered.   In  every case  the fastest  disk drive  available should  be
  6780.      specified in this parameter.
  6781.  
  6782.      Parameter 305 is used to specify  the highest disk number available in  the
  6783.      Library.  This value  is used in editing the user request for access to the
  6784.      Library.
  6785.  
  6786.      Parameter  306  is  used  to specify  the  maximum  number  of  upper level
  6787.      directories that  will be found on the Library  disk.  The PC-SIG CD-ROM is
  6788.      organized with 10 upper level directories, 1-100, 101-200, 201-300 etc. and
  6789.      each of these contain 100 directories, DISK001, DISK002 etc.
  6790.  
  6791.      Parameter 307 is the maximum number of subdirectories that each upper level
  6792.      directory can contain.  (100 in the above example)
  6793.  
  6794.      Parameter 308 is used to specify the prefix of the lower level directories.
  6795.      (DISK in the above  examples).  Since the user enters  only the disk number
  6796.      that  is  desired, RBBS-PC  creates  the  subdirectory name  based  on this
  6797.      parameter and the number entered.
  6798.  
  6799.      Parameter 309 is used  to identify the drive\path\name of  the Library Sub-
  6800.      system menu.  MENU6 is the default.
  6801.  
  6802.      Parameter 310  is a list of the symbols that are available from the Library
  6803.      Sub-System menu.
  6804.  
  6805.      Parameter 311 contains the security values related to the symbols listed in
  6806.      parameter 310.
  6807.  
  6808.      Parameter 312 is used to identify the drive\path  where the archive utility
  6809.      program can be found.  (Be sure that is where it is!)
  6810.  
  6811.      Parameter 313 is used to identify the archive  utility that you wish to use
  6812.      to do the archiving process on Library disks.  When answering the questions
  6813.      to this parameter you will also be asked what the CREATE parameter is.  For
  6814.      PKARC  and ARC the  correct response  is "A".   If using  ARCA there  is no
  6815.      CREATE  parameter  since CREATE  is  the  only  function that  it  can  do.
  6816.  
  6817.      RBBS-PC CPC17-2A                                                Page 141
  6818.  
  6819.      Therefore just press enter without entering a CREATE command.
  6820.  
  6821.      RBBS-PC CPC17-2A                                                Page 142
  6822.  
  6823.      11.17 RBBS-PC's Parameters for Color
  6824.      ------------------------------------
  6825.      A detailed explanation  of the use of colors within RBBS-PC can be found in
  6826.      section 8.10.   Parameter 321 is the  string that turns ON  highlighting or
  6827.      emphasizing  of characters in  text strings displayed  to the caller.   The
  6828.      RBBS-PC default is a bright foreground on a red background.
  6829.  
  6830.      Parameter 322 is  the string that turns OFF highlighting  or emphasizing of
  6831.      characters in text strings displayed to the caller.  The RBBS-PC default is
  6832.      amber foreground (normal yellow) and black background.
  6833.  
  6834.      Parameter 323,  parameter 324, parameter  325, parameter 326  and parameter
  6835.      327 are used  in conjunction with  one another.   Parameter 327 is  used to
  6836.      offset commands a caller actually needs to type in to select an option.